blob: 4ca6128f1888119f336ed9d40fcce6e5236103d3 [file] [log] [blame]
[email protected]4625ade2014-04-15 19:26:441# 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
slan77bdc2e62015-09-21 17:56:265import("//build/config/chromecast_build.gni")
brettw4cab0f12015-09-14 21:40:016import("//build/config/compiler/compiler.gni")
[email protected]4625ade2014-04-15 19:26:447import("//build/config/crypto.gni")
8import("//build/config/features.gni")
9import("//build/config/ui.gni")
dpranked4da5ab42015-10-13 06:20:3310import("//build_overrides/v8.gni")
qsrfb5251d12015-01-21 15:57:2211import("//testing/test.gni")
rockot9c67e5f2015-03-12 20:01:2112import("//third_party/icu/config.gni")
rtennetib6f1c0d2015-04-03 17:52:0613import("//third_party/protobuf/proto_library.gni")
tfarinae597851a2015-10-06 23:14:4114import("//tools/grit/grit_rule.gni")
[email protected]26046b52014-07-16 00:11:0315
[email protected]4625ade2014-04-15 19:26:4416if (is_android) {
17 import("//build/config/android/config.gni")
[email protected]ef0eb442014-05-15 09:32:1818 import("//build/config/android/rules.gni")
[email protected]4625ade2014-04-15 19:26:4419} else if (is_mac) {
20 import("//build/config/mac/mac_sdk.gni")
21}
22
23# The list of net files is kept in net.gypi. Read it.
scottmg34fb7e52014-12-03 23:27:2424gypi_values = exec_script("//build/gypi_to_gn.py",
25 [ rebase_path("net.gypi") ],
26 "scope",
27 [ "net.gypi" ])
[email protected]4625ade2014-04-15 19:26:4428
skyostila5574572015-11-11 16:24:2529# Disable Kerberos on ChromeOS, iOS, Chromecast and headless, at least for now.
slan77bdc2e62015-09-21 17:56:2630# It needs configuration (krb5.conf and so on).
skyostila5574572015-11-11 16:24:2531use_kerberos = !is_chromeos && !is_ios && !is_chromecast && !is_headless
[email protected]4625ade2014-04-15 19:26:4432
33# The way the cache uses mmap() is inefficient on some Android devices. If
34# this flag is set, we hackily avoid using mmap() in the disk cache. We are
35# pretty confident that mmap-ing the index would not hurt any existing x86
36# android devices, but we cannot be so sure about the variety of ARM devices.
37# So enable it for x86 only for now.
dpranke43276212015-02-20 02:55:1938posix_avoid_mmap = is_android && current_cpu != "x86"
[email protected]4625ade2014-04-15 19:26:4439
[email protected]8a3f8242014-06-05 18:05:1240use_v8_in_net = !is_ios
[email protected]4625ade2014-04-15 19:26:4441enable_built_in_dns = !is_ios
42
[email protected]384dab92014-06-04 20:26:0843declare_args() {
44 # Disables support for file URLs. File URL support requires use of icu.
45 disable_file_support = false
xunjieli11834f02015-12-22 04:27:0846 enable_bidirectional_stream = false
agrieve56240df2015-12-22 22:20:2147
48 # WebSockets and socket stream code are not used on iOS and are optional in
49 # cronet.
50 enable_websockets = !is_ios
51 disable_ftp_support = is_ios
[email protected]384dab92014-06-04 20:26:0852}
[email protected]02494ec2014-05-07 15:05:2953
[email protected]4625ade2014-04-15 19:26:4454config("net_config") {
55 defines = []
56 if (posix_avoid_mmap) {
57 defines += [ "POSIX_AVOID_MMAP" ]
58 }
[email protected]02494ec2014-05-07 15:05:2959 if (disable_file_support) {
60 defines += [ "DISABLE_FILE_SUPPORT" ]
61 }
tfarinae7c8c3c2015-11-04 15:09:5562 if (disable_ftp_support) {
63 defines += [ "DISABLE_FTP_SUPPORT=1" ]
64 }
xunjieli11834f02015-12-22 04:27:0865 if (enable_bidirectional_stream) {
66 defines += [ "ENABLE_BIDIRECTIONAL_STREAM=1" ]
67 }
[email protected]4625ade2014-04-15 19:26:4468}
69
xunjieli905496a2015-08-31 15:51:1770# net_internal_config is shared with net and net_small.
71config("net_internal_config") {
[email protected]8603c5de2014-04-16 20:34:3172 defines = [
ellyjonesc7a5c502015-06-26 18:55:2073 # TODO(GYP) Note that the GYP file supports linux_link_kerberos (defaults to
[email protected]8603c5de2014-04-16 20:34:3174 # 0) which implies that we run pkg_config on kerberos and link to that
75 # rather than setting this define which will dynamically open it. That
76 # doesn't seem to be set in the regular builds, so we're skipping this
77 # capability here.
78 "DLOPEN_KERBEROS",
scottmg34fb7e52014-12-03 23:27:2479 "NET_IMPLEMENTATION",
[email protected]8603c5de2014-04-16 20:34:3180 ]
dpranke43276212015-02-20 02:55:1981
[email protected]4625ade2014-04-15 19:26:4482 if (use_kerberos) {
83 defines += [ "USE_KERBEROS" ]
84 if (is_android) {
xunjieli905496a2015-08-31 15:51:1785 include_dirs = [ "/usr/include/kerberosV" ]
[email protected]4625ade2014-04-15 19:26:4486 }
[email protected]4625ade2014-04-15 19:26:4487 }
88
89 if (enable_built_in_dns) {
90 defines += [ "ENABLE_BUILT_IN_DNS" ]
xunjieli905496a2015-08-31 15:51:1791 }
92}
93
94# net_shared_* are settings shared between net and net_small
sergeyu99d83f92015-09-14 23:03:3395net_shared_sources = gypi_values.net_nacl_common_sources
xunjieli905496a2015-08-31 15:51:1796
97net_shared_unfiltered_sources = []
98
99net_shared_configs = [
100 ":net_internal_config",
101 "//build/config:precompiled_headers",
102
103 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
104 "//build/config/compiler:no_size_t_to_int_warning",
105]
106
107net_shared_public_deps = [
108 ":net_quic_proto",
109 "//crypto",
110 "//crypto:platform",
111]
112
113net_shared_deps = [
114 ":net_resources",
115 "//base",
xunjieli905496a2015-08-31 15:51:17116 "//net/base/registry_controlled_domains",
xunjieli905496a2015-08-31 15:51:17117 "//third_party/protobuf:protobuf_lite",
xunjieli905496a2015-08-31 15:51:17118]
119
sergeyu99d83f92015-09-14 23:03:33120if (!is_nacl) {
121 net_shared_sources += gypi_values.net_non_nacl_sources
xunjieli905496a2015-08-31 15:51:17122
sergeyu99d83f92015-09-14 23:03:33123 net_shared_deps += [
124 "//base:prefs",
125 "//base/third_party/dynamic_annotations",
126 "//sdch",
127 "//third_party/zlib",
128 ]
129
130 if (!use_kerberos) {
131 net_shared_sources -= [
132 "http/http_auth_gssapi_posix.cc",
133 "http/http_auth_gssapi_posix.h",
134 "http/http_auth_handler_negotiate.cc",
135 "http/http_auth_handler_negotiate.h",
136 ]
137 }
138
139 if (is_posix) {
140 if (posix_avoid_mmap) {
141 net_shared_sources -= [ "disk_cache/blockfile/mapped_file_posix.cc" ]
142 } else {
143 net_shared_sources -=
144 [ "disk_cache/blockfile/mapped_file_avoid_mmap_posix.cc" ]
145 }
146 }
147
148 if (!enable_built_in_dns) {
149 net_shared_sources -= [
150 "dns/address_sorter_posix.cc",
151 "dns/address_sorter_posix.h",
152 "dns/dns_client.cc",
153 ]
154 }
155
156 if (use_openssl) {
157 net_shared_sources -= [
158 "base/nss_memio.c",
159 "base/nss_memio.h",
160 "cert/ct_log_verifier_nss.cc",
161 "cert/ct_objects_extractor_nss.cc",
162 "cert/jwk_serializer_nss.cc",
163 "cert/scoped_nss_types.h",
164 "cert/x509_util_nss.cc",
165 "quic/crypto/aead_base_decrypter_nss.cc",
166 "quic/crypto/aead_base_encrypter_nss.cc",
167 "quic/crypto/aes_128_gcm_12_decrypter_nss.cc",
168 "quic/crypto/aes_128_gcm_12_encrypter_nss.cc",
169 "quic/crypto/chacha20_poly1305_decrypter_nss.cc",
170 "quic/crypto/chacha20_poly1305_encrypter_nss.cc",
rch5ba79932015-12-22 19:21:13171 "quic/crypto/chacha20_poly1305_rfc7539_decrypter_nss.cc",
172 "quic/crypto/chacha20_poly1305_rfc7539_encrypter_nss.cc",
sergeyu99d83f92015-09-14 23:03:33173 "quic/crypto/channel_id_nss.cc",
174 "quic/crypto/p256_key_exchange_nss.cc",
175 "quic/crypto/proof_source_chromium_nss.cc",
176 "socket/nss_ssl_util.cc",
177 "socket/nss_ssl_util.h",
178 "socket/ssl_client_socket_nss.cc",
179 "socket/ssl_client_socket_nss.h",
180 "socket/ssl_server_socket_nss.cc",
181 "socket/ssl_server_socket_nss.h",
182 ]
183 if (is_ios) {
184 # Always removed for !ios below.
185 net_shared_sources -= [
186 "cert/cert_verify_proc_nss.cc",
187 "cert/cert_verify_proc_nss.h",
188 ]
189 }
sergeyu99d83f92015-09-14 23:03:33190 if (!use_nss_certs && !is_ios) {
191 net_shared_sources -= [ "cert/x509_util_nss.h" ]
192 }
[email protected]4625ade2014-04-15 19:26:44193 } else {
xunjieli905496a2015-08-31 15:51:17194 net_shared_sources -= [
sergeyu99d83f92015-09-14 23:03:33195 "cert/ct_log_verifier_openssl.cc",
196 "cert/ct_objects_extractor_openssl.cc",
197 "cert/jwk_serializer_openssl.cc",
198 "cert/x509_util_openssl.cc",
199 "cert/x509_util_openssl.h",
200 "quic/crypto/aead_base_decrypter_openssl.cc",
201 "quic/crypto/aead_base_encrypter_openssl.cc",
202 "quic/crypto/aes_128_gcm_12_decrypter_openssl.cc",
203 "quic/crypto/aes_128_gcm_12_encrypter_openssl.cc",
204 "quic/crypto/chacha20_poly1305_decrypter_openssl.cc",
205 "quic/crypto/chacha20_poly1305_encrypter_openssl.cc",
rch5ba79932015-12-22 19:21:13206 "quic/crypto/chacha20_poly1305_rfc7539_decrypter_openssl.cc",
207 "quic/crypto/chacha20_poly1305_rfc7539_encrypter_openssl.cc",
sergeyu99d83f92015-09-14 23:03:33208 "quic/crypto/channel_id_openssl.cc",
209 "quic/crypto/p256_key_exchange_openssl.cc",
210 "quic/crypto/proof_source_chromium_openssl.cc",
211 "quic/crypto/scoped_evp_aead_ctx.cc",
212 "quic/crypto/scoped_evp_aead_ctx.h",
213 "socket/ssl_client_socket_openssl.cc",
214 "socket/ssl_client_socket_openssl.h",
215 "socket/ssl_server_socket_openssl.cc",
216 "socket/ssl_server_socket_openssl.h",
217 "ssl/openssl_ssl_util.cc",
218 "ssl/openssl_ssl_util.h",
219 "ssl/ssl_client_session_cache_openssl.cc",
220 "ssl/ssl_client_session_cache_openssl.h",
davidben2a811e4e2015-12-01 10:49:34221 "ssl/ssl_key_logger.cc",
222 "ssl/ssl_key_logger.h",
sergeyu99d83f92015-09-14 23:03:33223 "ssl/ssl_platform_key.h",
svaldez7872fd02015-11-19 21:10:54224 "ssl/ssl_platform_key_task_runner.cc",
225 "ssl/ssl_platform_key_task_runner.h",
sergeyu99d83f92015-09-14 23:03:33226 "ssl/threaded_ssl_private_key.cc",
227 "ssl/threaded_ssl_private_key.h",
[email protected]4625ade2014-04-15 19:26:44228 ]
229 }
sergeyu99d83f92015-09-14 23:03:33230
231 if (!use_openssl_certs) {
xunjieli905496a2015-08-31 15:51:17232 net_shared_sources -= [
sergeyu99d83f92015-09-14 23:03:33233 "base/crypto_module_openssl.cc",
234 "base/keygen_handler_openssl.cc",
235 "base/openssl_private_key_store.h",
236 "base/openssl_private_key_store_memory.cc",
237 "cert/cert_database_openssl.cc",
238 "cert/cert_verify_proc_openssl.cc",
239 "cert/cert_verify_proc_openssl.h",
240 "cert/test_root_certs_openssl.cc",
241 "cert/x509_certificate_openssl.cc",
242 "ssl/openssl_client_key_store.cc",
243 "ssl/openssl_client_key_store.h",
xunjieli06d93982015-08-27 17:13:02244 ]
sergeyu99d83f92015-09-14 23:03:33245 if (is_android) {
246 net_shared_sources -= [ "base/openssl_private_key_store_android.cc" ]
247 }
248 } else {
249 if (is_android) {
250 # Android doesn't use these even when using OpenSSL.
251 net_shared_sources -= [
252 "base/openssl_private_key_store_memory.cc",
253 "cert/cert_database_openssl.cc",
254 "cert/cert_verify_proc_openssl.cc",
255 "cert/test_root_certs_openssl.cc",
agrievea5517aa2015-10-23 03:03:45256 "http/http_auth_gssapi_posix.cc",
257 "http/http_auth_gssapi_posix.h",
sergeyu99d83f92015-09-14 23:03:33258 ]
259 }
[email protected]4625ade2014-04-15 19:26:44260 }
sergeyu99d83f92015-09-14 23:03:33261
mostynbbf5e6cc2015-10-21 07:53:31262 if (use_glib && use_gconf && !is_chromeos) {
sergeyu99d83f92015-09-14 23:03:33263 net_shared_configs += [ "//build/config/linux:gconf" ]
264 net_shared_deps += [ "//build/linux:gio" ]
265 }
266
267 if (is_linux) {
268 net_shared_configs += [ "//build/config/linux:libresolv" ]
269 }
270
271 if (!use_nss_certs) {
272 net_shared_sources -= [
273 "base/crypto_module_nss.cc",
274 "base/keygen_handler_nss.cc",
275 "cert/cert_database_nss.cc",
276 "cert/nss_cert_database.cc",
277 "cert/nss_cert_database.h",
278 "cert/x509_certificate_nss.cc",
279 "ssl/client_cert_store_nss.cc",
280 "ssl/client_cert_store_nss.h",
281 "third_party/mozilla_security_manager/nsKeygenHandler.cpp",
282 "third_party/mozilla_security_manager/nsKeygenHandler.h",
283 "third_party/mozilla_security_manager/nsNSSCertificateDB.cpp",
284 "third_party/mozilla_security_manager/nsNSSCertificateDB.h",
285 "third_party/mozilla_security_manager/nsPKCS12Blob.cpp",
286 "third_party/mozilla_security_manager/nsPKCS12Blob.h",
287 ]
288 if (!is_ios) {
289 # These files are part of the partial implementation of NSS on iOS so
290 # keep them in that case (even though use_nss_certs is not set).
291 net_shared_sources -= [
292 "cert/cert_verify_proc_nss.cc",
293 "cert/cert_verify_proc_nss.h",
294 "cert/test_root_certs_nss.cc",
295 "cert/x509_util_nss_certs.cc",
296 "cert_net/nss_ocsp.cc",
297 "cert_net/nss_ocsp.h",
298 ]
299 }
300 if (is_chromeos) {
301 # These were already removed on non-ChromeOS.
302 net_shared_sources -= [
303 "cert/nss_cert_database_chromeos.cc",
304 "cert/nss_cert_database_chromeos.h",
305 "cert/nss_profile_filter_chromeos.cc",
306 "cert/nss_profile_filter_chromeos.h",
307 ]
308 }
xunjieli905496a2015-08-31 15:51:17309 net_shared_sources -= [
pneubeckabe6e9d12015-08-26 08:47:11310 "ssl/client_key_store.cc",
311 "ssl/client_key_store.h",
312 "ssl/ssl_platform_key_nss.cc",
313 ]
sergeyu99d83f92015-09-14 23:03:33314 } else if (use_openssl) {
315 # client_cert_store_nss.c requires NSS_CmpCertChainWCANames from NSS's
316 # libssl, but our bundled copy is not built in OpenSSL ports. Pull that file
317 # in directly.
318 net_shared_sources += [ "third_party/nss/ssl/cmpcert.c" ]
[email protected]4625ade2014-04-15 19:26:44319 }
320
sergeyu99d83f92015-09-14 23:03:33321 if (!enable_mdns) {
322 net_shared_sources -= [
323 "dns/mdns_cache.cc",
324 "dns/mdns_cache.h",
325 "dns/mdns_client.cc",
326 "dns/mdns_client.h",
327 "dns/mdns_client_impl.cc",
328 "dns/mdns_client_impl.h",
329 "dns/record_parsed.cc",
330 "dns/record_parsed.h",
331 "dns/record_rdata.cc",
332 "dns/record_rdata.h",
333 ]
334 }
335
336 if (is_win) {
337 net_shared_sources -= [ "http/http_auth_handler_ntlm_portable.cc" ]
338 } else { # !is_win
339 net_shared_sources -= [
340 "base/winsock_init.cc",
341 "base/winsock_init.h",
342 "base/winsock_util.cc",
343 "base/winsock_util.h",
344 "proxy/proxy_resolver_winhttp.cc",
345 "proxy/proxy_resolver_winhttp.h",
346 ]
347 }
348
349 if (is_ios) {
350 # Add back some sources that were otherwise filtered out. iOS needs some Mac
351 # files.
352 net_shared_unfiltered_sources += [
353 "base/mac/url_conversions.h",
354 "base/mac/url_conversions.mm",
355 "base/network_change_notifier_mac.cc",
356 "base/network_config_watcher_mac.cc",
357 "base/network_interfaces_mac.cc",
358 "base/network_interfaces_mac.h",
359 "base/platform_mime_util_mac.mm",
360 "proxy/proxy_resolver_mac.cc",
361 "proxy/proxy_server_mac.cc",
362 ]
363
364 net_shared_sources -= [ "disk_cache/blockfile/file_posix.cc" ]
365 net_shared_deps += [
366 "//third_party/nss:nspr",
367 "//third_party/nss",
368 "//net/third_party/nss/ssl:libssl",
369 ]
370 }
371
372 if (is_ios || is_mac) {
373 net_shared_sources += gypi_values.net_base_mac_ios_sources
374 }
375
xunjieli905496a2015-08-31 15:51:17376 if (is_android) {
sergeyu99d83f92015-09-14 23:03:33377 net_shared_deps += [ ":net_jni_headers" ]
378
379 # Add some Linux sources that were excluded by the filter, but which
380 # are needed.
381 net_shared_unfiltered_sources += [
382 "base/address_tracker_linux.cc",
383 "base/address_tracker_linux.h",
384 "base/network_interfaces_linux.cc",
385 "base/network_interfaces_linux.h",
386 "base/platform_mime_util_linux.cc",
387 ]
xunjieli905496a2015-08-31 15:51:17388 }
389} else {
sergeyu99d83f92015-09-14 23:03:33390 net_shared_public_deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
xunjieli905496a2015-08-31 15:51:17391}
392
393component("net") {
394 sources = net_shared_sources
395
396 # Add back some sources that were otherwise filtered out.
397 set_sources_assignment_filter([])
398 sources += net_shared_unfiltered_sources
399 set_sources_assignment_filter(sources_assignment_filter)
400
401 cflags = []
402 configs += net_shared_configs
403 public_configs = [ ":net_config" ]
404
405 public_deps = net_shared_public_deps + [ "//url" ]
406 deps = net_shared_deps
[email protected]4625ade2014-04-15 19:26:44407
408 if (is_mac) {
[email protected]4625ade2014-04-15 19:26:44409 libs = [
[email protected]ab9ce6e2014-04-17 20:33:19410 "Foundation.framework",
411 "Security.framework",
412 "SystemConfiguration.framework",
413 "resolv",
[email protected]4625ade2014-04-15 19:26:44414 ]
415 }
416
417 if (is_ios) {
[email protected]4625ade2014-04-15 19:26:44418 libs = [
[email protected]ab9ce6e2014-04-17 20:33:19419 "CFNetwork.framework",
420 "MobileCoreServices.framework",
421 "Security.framework",
422 "SystemConfiguration.framework",
423 "resolv",
[email protected]4625ade2014-04-15 19:26:44424 ]
xunjieli06d93982015-08-27 17:13:02425 }
xunjieli4c8c6922015-08-27 16:02:40426
sergeyu99d83f92015-09-14 23:03:33427 if (!is_nacl) {
428 if (!disable_file_support) {
429 sources += gypi_values.net_file_support_sources
430 }
xunjieli06d93982015-08-27 17:13:02431
sergeyu99d83f92015-09-14 23:03:33432 if (!disable_ftp_support) {
433 sources += gypi_values.net_ftp_support_sources
434 }
xunjieli905496a2015-08-31 15:51:17435
xunjieli11834f02015-12-22 04:27:08436 if (enable_bidirectional_stream) {
437 sources += gypi_values.net_bidirectional_stream_sources
438 }
439
sergeyu99d83f92015-09-14 23:03:33440 if (enable_websockets) {
441 sources += gypi_values.net_websockets_sources
442 }
xunjieli905496a2015-08-31 15:51:17443
sergeyu99d83f92015-09-14 23:03:33444 # ICU support.
445 deps += [
446 "//base:i18n",
447 "//third_party/icu",
448 ]
449 sources += [
450 "base/filename_util_icu.cc",
451 "base/net_string_util_icu.cc",
452 "base/net_util_icu.cc",
453 ]
454 }
xunjieli905496a2015-08-31 15:51:17455}
456
457if (is_android) {
458 # Same as net, but with ICU, file, ftp, and websocket support stripped.
459 component("net_small") {
460 sources = net_shared_sources
461
462 # Add back some sources that were otherwise filtered out.
xunjieli06d93982015-08-27 17:13:02463 set_sources_assignment_filter([])
xunjieli905496a2015-08-31 15:51:17464 sources += net_shared_unfiltered_sources
xunjieli06d93982015-08-27 17:13:02465 set_sources_assignment_filter(sources_assignment_filter)
xunjieli06d93982015-08-27 17:13:02466
xunjieli905496a2015-08-31 15:51:17467 cflags = []
468 defines = []
469 configs += net_shared_configs
470 public_configs = [ ":net_config" ]
471
472 public_deps = net_shared_public_deps +
473 [ "//url:url_lib_use_icu_alternatives_on_android" ]
474 deps = net_shared_deps + [ ":net_jni_headers" ]
475
476 defines += [
477 "DISABLE_FILE_SUPPORT",
478 "DISABLE_FTP_SUPPORT",
479 "USE_ICU_ALTERNATIVES_ON_ANDROID=1",
480 ]
481
482 # Use ICU alternative on Android.
[email protected]85191ed2014-05-15 00:41:49483 sources += [
484 "base/net_string_util_icu_alternatives_android.cc",
485 "base/net_string_util_icu_alternatives_android.h",
486 ]
487 }
[email protected]4625ade2014-04-15 19:26:44488}
489
490grit("net_resources") {
491 source = "base/net_resources.grd"
[email protected]7ae52902014-08-18 22:36:01492 use_qualified_include = true
[email protected]b89c53842014-07-23 16:32:32493 outputs = [
494 "grit/net_resources.h",
495 "net_resources.pak",
[email protected]b89c53842014-07-23 16:32:32496 ]
[email protected]4625ade2014-04-15 19:26:44497}
498
rtennetib6f1c0d2015-04-03 17:52:06499proto_library("net_quic_proto") {
xunjieli905496a2015-08-31 15:51:17500 visibility = [
501 ":net",
502 ":net_small",
503 ]
brettw2e7db0a2015-04-24 22:59:17504
rtennetib6f1c0d2015-04-03 17:52:06505 sources = [
506 "quic/proto/cached_network_parameters.proto",
507 "quic/proto/source_address_token.proto",
508 ]
509 cc_generator_options = "dllexport_decl=NET_EXPORT_PRIVATE:"
510 cc_include = "net/base/net_export.h"
511
512 defines = [ "NET_IMPLEMENTATION" ]
513
514 extra_configs = [ "//build/config/compiler:wexit_time_destructors" ]
515}
516
Brett Wilson83fd4242014-09-02 19:45:33517static_library("extras") {
mef327a8e42014-08-29 17:10:03518 sources = gypi_values.net_extras_sources
519 configs += [ "//build/config/compiler:wexit_time_destructors" ]
520 deps = [
521 ":net",
brettwbc44c0a92015-02-20 22:30:39522 "//base",
mef327a8e42014-08-29 17:10:03523 "//sql:sql",
524 ]
525}
526
[email protected]8a3f8242014-06-05 18:05:12527static_library("http_server") {
[email protected]4625ade2014-04-15 19:26:44528 sources = [
529 "server/http_connection.cc",
530 "server/http_connection.h",
531 "server/http_server.cc",
532 "server/http_server.h",
533 "server/http_server_request_info.cc",
534 "server/http_server_request_info.h",
535 "server/http_server_response_info.cc",
536 "server/http_server_response_info.h",
537 "server/web_socket.cc",
538 "server/web_socket.h",
dgozmana6e70092014-12-12 14:46:21539 "server/web_socket_encoder.cc",
540 "server/web_socket_encoder.h",
[email protected]4625ade2014-04-15 19:26:44541 ]
jambc6cc8e2014-11-14 17:56:29542 configs += [
brettwd1c719a2015-02-19 23:17:04543 "//build/config/compiler:no_size_t_to_int_warning",
jambc6cc8e2014-11-14 17:56:29544 "//build/config/compiler:wexit_time_destructors",
jambc6cc8e2014-11-14 17:56:29545 ]
[email protected]4625ade2014-04-15 19:26:44546 deps = [
547 ":net",
548 "//base",
549 ]
550}
551
[email protected]8603c5de2014-04-16 20:34:31552executable("dump_cache") {
Brett Wilson8f80ad0b2014-09-08 19:50:24553 testonly = true
[email protected]8603c5de2014-04-16 20:34:31554 sources = [
[email protected]8603c5de2014-04-16 20:34:31555 "tools/dump_cache/dump_cache.cc",
556 "tools/dump_cache/dump_files.cc",
557 "tools/dump_cache/dump_files.h",
[email protected]8603c5de2014-04-16 20:34:31558 ]
[email protected]4625ade2014-04-15 19:26:44559
brettwd1c719a2015-02-19 23:17:04560 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
561 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
[email protected]8603c5de2014-04-16 20:34:31562
563 deps = [
[email protected]8603c5de2014-04-16 20:34:31564 ":net",
[email protected]b2b2bf52014-05-28 20:26:57565 ":test_support",
brettwba7a73d2015-08-31 22:17:39566 "//base",
567 "//build/config/sanitizers:deps",
[email protected]8603c5de2014-04-16 20:34:31568 ]
569}
570
[email protected]b2b2bf52014-05-28 20:26:57571source_set("test_support") {
Brett Wilson8f80ad0b2014-09-08 19:50:24572 testonly = true
[email protected]8603c5de2014-04-16 20:34:31573 sources = [
[email protected]8603c5de2014-04-16 20:34:31574 "base/load_timing_info_test_util.cc",
575 "base/load_timing_info_test_util.h",
576 "base/mock_file_stream.cc",
577 "base/mock_file_stream.h",
578 "base/test_completion_callback.cc",
579 "base/test_completion_callback.h",
580 "base/test_data_directory.cc",
581 "base/test_data_directory.h",
582 "cert/mock_cert_verifier.cc",
583 "cert/mock_cert_verifier.h",
584 "cookies/cookie_monster_store_test.cc",
585 "cookies/cookie_monster_store_test.h",
586 "cookies/cookie_store_test_callbacks.cc",
587 "cookies/cookie_store_test_callbacks.h",
588 "cookies/cookie_store_test_helpers.cc",
589 "cookies/cookie_store_test_helpers.h",
drogerfd8b2772015-12-04 14:34:56590 "cookies/cookie_store_unittest.h",
[email protected]8603c5de2014-04-16 20:34:31591 "disk_cache/disk_cache_test_base.cc",
592 "disk_cache/disk_cache_test_base.h",
593 "disk_cache/disk_cache_test_util.cc",
594 "disk_cache/disk_cache_test_util.h",
595 "dns/dns_test_util.cc",
596 "dns/dns_test_util.h",
597 "dns/mock_host_resolver.cc",
598 "dns/mock_host_resolver.h",
599 "dns/mock_mdns_socket_factory.cc",
600 "dns/mock_mdns_socket_factory.h",
[email protected]8a3f8242014-06-05 18:05:12601 "http/http_transaction_test_util.cc",
602 "http/http_transaction_test_util.h",
vishal.b62985ca92015-04-17 08:45:51603 "log/test_net_log.cc",
604 "log/test_net_log.h",
mmenke43758e62015-05-04 21:09:46605 "log/test_net_log_entry.cc",
606 "log/test_net_log_entry.h",
mmenke0034c542015-05-05 22:34:59607 "log/test_net_log_util.cc",
mmenke43758e62015-05-04 21:09:46608 "log/test_net_log_util.h",
[email protected]8603c5de2014-04-16 20:34:31609 "proxy/mock_proxy_resolver.cc",
610 "proxy/mock_proxy_resolver.h",
611 "proxy/mock_proxy_script_fetcher.cc",
612 "proxy/mock_proxy_script_fetcher.h",
613 "proxy/proxy_config_service_common_unittest.cc",
614 "proxy/proxy_config_service_common_unittest.h",
615 "socket/socket_test_util.cc",
616 "socket/socket_test_util.h",
617 "test/cert_test_util.cc",
618 "test/cert_test_util.h",
[email protected]83e1ae32014-07-18 10:57:07619 "test/cert_test_util_nss.cc",
nharper2e171cf2015-06-01 20:29:23620 "test/channel_id_test_util.cc",
621 "test/channel_id_test_util.h",
[email protected]8603c5de2014-04-16 20:34:31622 "test/ct_test_util.cc",
623 "test/ct_test_util.h",
svaldez7d25c562015-10-30 19:09:45624 "test/embedded_test_server/default_handlers.cc",
625 "test/embedded_test_server/default_handlers.h",
[email protected]8603c5de2014-04-16 20:34:31626 "test/embedded_test_server/embedded_test_server.cc",
627 "test/embedded_test_server/embedded_test_server.h",
628 "test/embedded_test_server/http_connection.cc",
629 "test/embedded_test_server/http_connection.h",
630 "test/embedded_test_server/http_request.cc",
631 "test/embedded_test_server/http_request.h",
632 "test/embedded_test_server/http_response.cc",
633 "test/embedded_test_server/http_response.h",
svaldez6e7e82a22015-10-28 19:39:53634 "test/embedded_test_server/request_handler_util.cc",
635 "test/embedded_test_server/request_handler_util.h",
sammc6ac3fe52015-02-25 06:00:28636 "test/event_waiter.h",
[email protected]8603c5de2014-04-16 20:34:31637 "test/net_test_suite.cc",
638 "test/net_test_suite.h",
639 "test/python_utils.cc",
640 "test/python_utils.h",
brettw6315e032015-11-27 18:38:36641 "test/test_certificate_data.h",
sherouk51b4b098b2015-08-10 09:00:43642 "test/url_request/ssl_certificate_error_job.cc",
643 "test/url_request/ssl_certificate_error_job.h",
Brett Wilson32ce17a2014-11-10 17:45:30644 "test/url_request/url_request_failed_job.cc",
645 "test/url_request/url_request_failed_job.h",
mef3e826cf2014-12-13 18:40:40646 "test/url_request/url_request_mock_data_job.cc",
647 "test/url_request/url_request_mock_data_job.h",
jam8e45cd72015-01-20 16:33:44648 "test/url_request/url_request_slow_download_job.cc",
649 "test/url_request/url_request_slow_download_job.h",
[email protected]8603c5de2014-04-16 20:34:31650 "url_request/test_url_fetcher_factory.cc",
651 "url_request/test_url_fetcher_factory.h",
652 "url_request/url_request_test_util.cc",
653 "url_request/url_request_test_util.h",
654 ]
sherouk3eee4a82015-09-01 10:42:33655 if (!is_ios) {
656 sources += [
657 "test/spawned_test_server/base_test_server.cc",
658 "test/spawned_test_server/base_test_server.h",
659 "test/spawned_test_server/local_test_server.cc",
660 "test/spawned_test_server/local_test_server.h",
661 "test/spawned_test_server/local_test_server_posix.cc",
662 "test/spawned_test_server/local_test_server_win.cc",
663 "test/spawned_test_server/spawned_test_server.h",
664 ]
665 }
[email protected]8603c5de2014-04-16 20:34:31666
brettwbc8b2a22015-07-28 18:24:42667 configs += [
668 "//build/config:precompiled_headers",
669
670 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
671 "//build/config/compiler:no_size_t_to_int_warning",
672 ]
[email protected]8603c5de2014-04-16 20:34:31673
Brett Wilsone53895272014-09-23 23:41:46674 public_deps = [
[email protected]8603c5de2014-04-16 20:34:31675 "//base",
676 "//base/test:test_support",
[email protected]22fe91d2014-08-12 17:07:12677 "//crypto",
[email protected]59ff2d42014-04-22 22:25:23678 "//net",
[email protected]8603c5de2014-04-16 20:34:31679 "//net/tools/tld_cleanup",
680 "//testing/gmock",
681 "//testing/gtest",
682 "//url",
683 ]
684
jamb533b7e2015-03-04 17:12:05685 if (!is_ios) {
686 public_deps += [ "//third_party/protobuf:py_proto" ]
687 }
688
davidben4a644b02015-07-01 19:34:55689 if (use_nss_certs || is_ios) {
scottmg34fb7e52014-12-03 23:27:24690 public_deps += [ "//crypto:platform" ]
[email protected]8603c5de2014-04-16 20:34:31691 }
692
sherouk3eee4a82015-09-01 10:42:33693 if (is_android) {
694 sources += [
[email protected]8603c5de2014-04-16 20:34:31695 "test/spawned_test_server/remote_test_server.cc",
696 "test/spawned_test_server/remote_test_server.h",
697 "test/spawned_test_server/spawner_communicator.cc",
698 "test/spawned_test_server/spawner_communicator.h",
699 ]
700 }
701
702 if (use_v8_in_net) {
Brett Wilsone53895272014-09-23 23:41:46703 public_deps += [ ":net_with_v8" ]
[email protected]8603c5de2014-04-16 20:34:31704 }
705
706 if (!enable_mdns) {
707 sources -= [
708 "dns/mock_mdns_socket_factory.cc",
709 "dns/mock_mdns_socket_factory.h",
710 ]
711 }
712
davidben15d69d482014-09-29 18:24:08713 if (!use_nss_certs) {
scottmg34fb7e52014-12-03 23:27:24714 sources -= [ "test/cert_test_util_nss.cc" ]
[email protected]83e1ae32014-07-18 10:57:07715 }
xunjielia6888202015-04-14 21:34:25716
717 if (!disable_file_support) {
718 sources += [
719 "test/url_request/url_request_mock_http_job.cc",
720 "test/url_request/url_request_mock_http_job.h",
721 "url_request/test_url_request_interceptor.cc",
722 "url_request/test_url_request_interceptor.h",
723 ]
724 }
[email protected]8603c5de2014-04-16 20:34:31725}
726
[email protected]ceeaac792014-06-25 05:14:43727source_set("balsa") {
728 sources = [
729 "tools/balsa/balsa_enums.h",
730 "tools/balsa/balsa_frame.cc",
731 "tools/balsa/balsa_frame.h",
732 "tools/balsa/balsa_headers.cc",
733 "tools/balsa/balsa_headers.h",
734 "tools/balsa/balsa_headers_token_utils.cc",
735 "tools/balsa/balsa_headers_token_utils.h",
736 "tools/balsa/balsa_visitor_interface.h",
737 "tools/balsa/http_message_constants.cc",
738 "tools/balsa/http_message_constants.h",
739 "tools/balsa/noop_balsa_visitor.h",
740 "tools/balsa/simple_buffer.cc",
741 "tools/balsa/simple_buffer.h",
742 "tools/balsa/split.cc",
743 "tools/balsa/split.h",
744 "tools/balsa/string_piece_utils.h",
rtennetie0ee6eb2015-05-01 00:55:09745 "tools/quic/spdy_balsa_utils.cc",
746 "tools/quic/spdy_balsa_utils.h",
[email protected]ceeaac792014-06-25 05:14:43747 ]
748 deps = [
749 ":net",
750 "//base",
[email protected]22fe91d2014-08-12 17:07:12751 "//url",
[email protected]ceeaac792014-06-25 05:14:43752 ]
753}
754
[email protected]8603c5de2014-04-16 20:34:31755if (use_v8_in_net) {
756 component("net_with_v8") {
757 sources = [
758 "proxy/proxy_resolver_v8.cc",
759 "proxy/proxy_resolver_v8.h",
760 "proxy/proxy_resolver_v8_tracing.cc",
761 "proxy/proxy_resolver_v8_tracing.h",
sammcf2d1ea02015-06-29 02:58:47762 "proxy/proxy_resolver_v8_tracing_wrapper.cc",
763 "proxy/proxy_resolver_v8_tracing_wrapper.h",
[email protected]8603c5de2014-04-16 20:34:31764 "proxy/proxy_service_v8.cc",
765 "proxy/proxy_service_v8.h",
766 ]
767
768 defines = [ "NET_IMPLEMENTATION" ]
dprankea22b0732015-10-21 21:15:11769
[email protected]8603c5de2014-04-16 20:34:31770 configs += [
brettwd1c719a2015-02-19 23:17:04771 "//build/config/compiler:no_size_t_to_int_warning",
[email protected]8603c5de2014-04-16 20:34:31772 "//build/config/compiler:wexit_time_destructors",
dprankea22b0732015-10-21 21:15:11773 "//v8:external_startup_data",
[email protected]8603c5de2014-04-16 20:34:31774 ]
775
Brett Wilsone53895272014-09-23 23:41:46776 public_deps = [
[email protected]8603c5de2014-04-16 20:34:31777 ":net",
Brett Wilsone53895272014-09-23 23:41:46778 ]
779 deps = [
[email protected]8603c5de2014-04-16 20:34:31780 "//base",
781 "//gin",
782 "//url",
783 "//v8",
784 ]
785 }
786}
787
amistry7e6ebfdc82015-02-13 04:19:11788if (use_v8_in_net && !is_android) {
789 source_set("net_browser_services") {
790 sources = [
791 "dns/mojo_host_resolver_impl.cc",
792 "dns/mojo_host_resolver_impl.h",
amistry6e1ed1b2015-03-12 05:24:01793 "proxy/in_process_mojo_proxy_resolver_factory.cc",
794 "proxy/in_process_mojo_proxy_resolver_factory.h",
sammc1d5df4d2015-05-05 05:06:17795 "proxy/mojo_proxy_resolver_factory.h",
eromandcacef22015-06-01 19:36:35796 "proxy/proxy_resolver_factory_mojo.cc",
797 "proxy/proxy_resolver_factory_mojo.h",
amistry6e1ed1b2015-03-12 05:24:01798 "proxy/proxy_service_mojo.cc",
799 "proxy/proxy_service_mojo.h",
amistry7e6ebfdc82015-02-13 04:19:11800 ]
801
802 public_deps = [
803 ":mojo_type_converters",
tfarina8ac4d17f2015-12-16 02:11:11804 ":net_with_v8",
brettwbc44c0a92015-02-20 22:30:39805 "//base",
amistry07ff1402015-03-10 07:34:07806 "//mojo/common",
rockot85dce0862015-11-13 01:33:59807 "//mojo/public/cpp/bindings",
amistry7e6ebfdc82015-02-13 04:19:11808 "//net/interfaces",
amistry6e1ed1b2015-03-12 05:24:01809
810 # NOTE(amistry): As long as we support in-process Mojo v8 PAC, we need
811 # this dependency since in_process_mojo_proxy_resolver_factory creates
812 # the utility process side Mojo services in the browser process.
813 # Ultimately, this will go away when we only support out-of-process.
814 ":net_utility_services",
amistry7e6ebfdc82015-02-13 04:19:11815 ]
816 }
817
818 source_set("mojo_type_converters") {
819 sources = [
amistry7ec58112015-02-26 06:03:00820 "dns/mojo_host_type_converters.cc",
821 "dns/mojo_host_type_converters.h",
822 "proxy/mojo_proxy_type_converters.cc",
823 "proxy/mojo_proxy_type_converters.h",
amistry7e6ebfdc82015-02-13 04:19:11824 ]
825
826 public_deps = [
827 ":net",
tfarina8ac4d17f2015-12-16 02:11:11828 "//base",
rockot85dce0862015-11-13 01:33:59829 "//mojo/public/cpp/bindings",
amistry7e6ebfdc82015-02-13 04:19:11830 "//net/interfaces",
amistry7e6ebfdc82015-02-13 04:19:11831 ]
832 }
sammc5403aa1d2015-02-25 04:59:21833
834 source_set("net_utility_services") {
835 sources = [
sammc6ac3fe52015-02-25 06:00:28836 "dns/host_resolver_mojo.cc",
837 "dns/host_resolver_mojo.h",
sammc352f7492015-02-25 09:45:24838 "proxy/mojo_proxy_resolver_factory_impl.cc",
839 "proxy/mojo_proxy_resolver_factory_impl.h",
sammc5403aa1d2015-02-25 04:59:21840 "proxy/mojo_proxy_resolver_impl.cc",
841 "proxy/mojo_proxy_resolver_impl.h",
sammca3242c92015-07-10 02:38:51842 "proxy/mojo_proxy_resolver_v8_tracing_bindings.h",
sammc5403aa1d2015-02-25 04:59:21843 ]
844
rockot9509ec82015-04-14 02:50:56845 deps = [
846 ":net_with_v8",
tfarina8ac4d17f2015-12-16 02:11:11847 "//base",
rockot9509ec82015-04-14 02:50:56848 ]
849
sammc5403aa1d2015-02-25 04:59:21850 public_deps = [
851 ":mojo_type_converters",
852 ":net",
853 "//mojo/common",
rockot85dce0862015-11-13 01:33:59854 "//mojo/public/cpp/bindings",
sammc5403aa1d2015-02-25 04:59:21855 "//net/interfaces",
sammc5403aa1d2015-02-25 04:59:21856 ]
857 }
amistry7e6ebfdc82015-02-13 04:19:11858}
859
[email protected]8603c5de2014-04-16 20:34:31860if (!is_ios && !is_android) {
861 executable("crash_cache") {
Brett Wilson8f80ad0b2014-09-08 19:50:24862 testonly = true
scottmg34fb7e52014-12-03 23:27:24863 sources = [
864 "tools/crash_cache/crash_cache.cc",
865 ]
dpranke43276212015-02-20 02:55:19866
brettwd1c719a2015-02-19 23:17:04867 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
868 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
[email protected]8603c5de2014-04-16 20:34:31869 deps = [
870 ":net",
[email protected]b2b2bf52014-05-28 20:26:57871 ":test_support",
[email protected]8603c5de2014-04-16 20:34:31872 "//base",
brettwba7a73d2015-08-31 22:17:39873 "//build/config/sanitizers:deps",
[email protected]8603c5de2014-04-16 20:34:31874 ]
875 }
876
877 executable("crl_set_dump") {
Brett Wilson8f80ad0b2014-09-08 19:50:24878 testonly = true
scottmg34fb7e52014-12-03 23:27:24879 sources = [
880 "tools/crl_set_dump/crl_set_dump.cc",
881 ]
dpranke43276212015-02-20 02:55:19882
brettwd1c719a2015-02-19 23:17:04883 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
884 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
[email protected]8603c5de2014-04-16 20:34:31885 deps = [
886 ":net",
887 "//base",
brettwba7a73d2015-08-31 22:17:39888 "//build/config/sanitizers:deps",
[email protected]8603c5de2014-04-16 20:34:31889 ]
890 }
891
892 executable("dns_fuzz_stub") {
Brett Wilson8f80ad0b2014-09-08 19:50:24893 testonly = true
scottmg34fb7e52014-12-03 23:27:24894 sources = [
895 "tools/dns_fuzz_stub/dns_fuzz_stub.cc",
896 ]
dpranke43276212015-02-20 02:55:19897
brettwd1c719a2015-02-19 23:17:04898 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
899 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
[email protected]8603c5de2014-04-16 20:34:31900 deps = [
901 ":net",
902 "//base",
brettwba7a73d2015-08-31 22:17:39903 "//build/config/sanitizers:deps",
[email protected]8603c5de2014-04-16 20:34:31904 ]
905 }
906
907 executable("gdig") {
Brett Wilson8f80ad0b2014-09-08 19:50:24908 testonly = true
[email protected]8603c5de2014-04-16 20:34:31909 sources = [
910 "tools/gdig/file_net_log.cc",
911 "tools/gdig/gdig.cc",
912 ]
913 deps = [
914 ":net",
915 "//base",
brettwba7a73d2015-08-31 22:17:39916 "//build/config/sanitizers:deps",
[email protected]8603c5de2014-04-16 20:34:31917 ]
918 }
919
920 executable("get_server_time") {
Brett Wilson8f80ad0b2014-09-08 19:50:24921 testonly = true
scottmg34fb7e52014-12-03 23:27:24922 sources = [
923 "tools/get_server_time/get_server_time.cc",
924 ]
dpranke43276212015-02-20 02:55:19925
brettwd1c719a2015-02-19 23:17:04926 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
927 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
[email protected]8603c5de2014-04-16 20:34:31928 deps = [
929 ":net",
930 "//base",
931 "//base:i18n",
brettwba7a73d2015-08-31 22:17:39932 "//build/config/sanitizers:deps",
[email protected]8603c5de2014-04-16 20:34:31933 "//url",
934 ]
935 }
936
rockot9c67e5f2015-03-12 20:01:21937 executable("hpack_example_generator") {
938 testonly = true
939 sources = [
940 "spdy/fuzzing/hpack_example_generator.cc",
941 ]
942
943 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
944 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
945 deps = [
rockot9c67e5f2015-03-12 20:01:21946 ":net",
brettwba7a73d2015-08-31 22:17:39947 "//base",
948 "//build/config/sanitizers:deps",
rockot9c67e5f2015-03-12 20:01:21949 ]
950 }
951
952 executable("hpack_fuzz_mutator") {
953 testonly = true
954 sources = [
955 "spdy/fuzzing/hpack_fuzz_mutator.cc",
956 ]
957
958 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
959 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
960 deps = [
rockot9c67e5f2015-03-12 20:01:21961 ":net",
brettwba7a73d2015-08-31 22:17:39962 "//base",
963 "//build/config/sanitizers:deps",
rockot9c67e5f2015-03-12 20:01:21964 ]
965 }
966
967 executable("hpack_fuzz_wrapper") {
968 testonly = true
969 sources = [
970 "spdy/fuzzing/hpack_fuzz_wrapper.cc",
971 ]
972
973 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
974 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
975 deps = [
rockot9c67e5f2015-03-12 20:01:21976 ":net",
brettwba7a73d2015-08-31 22:17:39977 "//base",
978 "//build/config/sanitizers:deps",
rockot9c67e5f2015-03-12 20:01:21979 ]
980 }
981
[email protected]8603c5de2014-04-16 20:34:31982 if (use_v8_in_net) {
983 executable("net_watcher") {
Brett Wilson8f80ad0b2014-09-08 19:50:24984 testonly = true
scottmg34fb7e52014-12-03 23:27:24985 sources = [
986 "tools/net_watcher/net_watcher.cc",
987 ]
[email protected]8603c5de2014-04-16 20:34:31988 deps = [
989 ":net",
990 ":net_with_v8",
991 "//base",
brettwba7a73d2015-08-31 22:17:39992 "//build/config/sanitizers:deps",
[email protected]8603c5de2014-04-16 20:34:31993 ]
994
mostynbbf5e6cc2015-10-21 07:53:31995 if (is_desktop_linux && use_gconf && use_glib) {
xunjieli905496a2015-08-31 15:51:17996 configs += [
997 "//build/config/linux:gconf",
998 "//build/config/linux:glib",
999 ]
dprankead0c1f42015-08-28 21:48:041000 deps += [ "//build/linux:gio" ]
[email protected]8603c5de2014-04-16 20:34:311001 }
1002 }
1003 }
1004
1005 executable("run_testserver") {
Brett Wilson8f80ad0b2014-09-08 19:50:241006 testonly = true
scottmg34fb7e52014-12-03 23:27:241007 sources = [
1008 "tools/testserver/run_testserver.cc",
1009 ]
[email protected]8603c5de2014-04-16 20:34:311010 deps = [
[email protected]b2b2bf52014-05-28 20:26:571011 ":test_support",
[email protected]8603c5de2014-04-16 20:34:311012 "//base",
1013 "//base/test:test_support",
brettwba7a73d2015-08-31 22:17:391014 "//build/config/sanitizers:deps",
[email protected]8603c5de2014-04-16 20:34:311015 "//testing/gtest",
1016 ]
1017 }
1018
1019 executable("stress_cache") {
Brett Wilson8f80ad0b2014-09-08 19:50:241020 testonly = true
scottmg34fb7e52014-12-03 23:27:241021 sources = [
rvargase23fcf652015-03-04 19:59:221022 "tools/stress_cache/stress_cache.cc",
scottmg34fb7e52014-12-03 23:27:241023 ]
dpranke43276212015-02-20 02:55:191024
brettwd1c719a2015-02-19 23:17:041025 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1026 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
[email protected]8603c5de2014-04-16 20:34:311027 deps = [
1028 ":net",
[email protected]b2b2bf52014-05-28 20:26:571029 ":test_support",
[email protected]8603c5de2014-04-16 20:34:311030 "//base",
brettwba7a73d2015-08-31 22:17:391031 "//build/config/sanitizers:deps",
[email protected]8603c5de2014-04-16 20:34:311032 ]
1033 }
1034
1035 executable("tld_cleanup") {
scottmg34fb7e52014-12-03 23:27:241036 sources = [
1037 "tools/tld_cleanup/tld_cleanup.cc",
1038 ]
dpranke43276212015-02-20 02:55:191039
brettwd1c719a2015-02-19 23:17:041040 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1041 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
[email protected]8603c5de2014-04-16 20:34:311042 deps = [
1043 "//base",
1044 "//base:i18n",
brettwba7a73d2015-08-31 22:17:391045 "//build/config/sanitizers:deps",
[email protected]8603c5de2014-04-16 20:34:311046 "//net/tools/tld_cleanup",
1047 ]
1048 }
1049}
1050
rch6983a3f2015-03-30 03:47:281051if (is_linux) {
[email protected]8a3f8242014-06-05 18:05:121052 static_library("epoll_server") {
[email protected]8603c5de2014-04-16 20:34:311053 sources = [
1054 "tools/epoll_server/epoll_server.cc",
1055 "tools/epoll_server/epoll_server.h",
1056 ]
1057 deps = [
1058 ":net",
1059 "//base",
1060 ]
1061 }
1062
[email protected]8a3f8242014-06-05 18:05:121063 static_library("flip_in_mem_edsm_server_base") {
Brett Wilson8f80ad0b2014-09-08 19:50:241064 testonly = true
[email protected]8603c5de2014-04-16 20:34:311065 sources = [
[email protected]8603c5de2014-04-16 20:34:311066 "tools/flip_server/acceptor_thread.cc",
satorux933fc7a2015-02-13 07:09:101067 "tools/flip_server/acceptor_thread.h",
1068 "tools/flip_server/constants.h",
[email protected]8603c5de2014-04-16 20:34:311069 "tools/flip_server/create_listener.cc",
1070 "tools/flip_server/create_listener.h",
[email protected]8603c5de2014-04-16 20:34:311071 "tools/flip_server/flip_config.cc",
1072 "tools/flip_server/flip_config.h",
1073 "tools/flip_server/http_interface.cc",
1074 "tools/flip_server/http_interface.h",
[email protected]8603c5de2014-04-16 20:34:311075 "tools/flip_server/mem_cache.cc",
satorux933fc7a2015-02-13 07:09:101076 "tools/flip_server/mem_cache.h",
[email protected]8603c5de2014-04-16 20:34:311077 "tools/flip_server/output_ordering.cc",
1078 "tools/flip_server/output_ordering.h",
1079 "tools/flip_server/ring_buffer.cc",
1080 "tools/flip_server/ring_buffer.h",
1081 "tools/flip_server/sm_connection.cc",
1082 "tools/flip_server/sm_connection.h",
1083 "tools/flip_server/sm_interface.h",
[email protected]8603c5de2014-04-16 20:34:311084 "tools/flip_server/spdy_interface.cc",
1085 "tools/flip_server/spdy_interface.h",
satorux933fc7a2015-02-13 07:09:101086 "tools/flip_server/spdy_ssl.cc",
1087 "tools/flip_server/spdy_ssl.h",
[email protected]8603c5de2014-04-16 20:34:311088 "tools/flip_server/spdy_util.cc",
1089 "tools/flip_server/spdy_util.h",
1090 "tools/flip_server/streamer_interface.cc",
1091 "tools/flip_server/streamer_interface.h",
rvargas145310f2015-08-14 18:09:041092 "tools/flip_server/url_to_filename_encoder.cc",
1093 "tools/flip_server/url_to_filename_encoder.h",
1094 "tools/flip_server/url_utilities.cc",
1095 "tools/flip_server/url_utilities.h",
[email protected]8603c5de2014-04-16 20:34:311096 ]
1097 deps = [
1098 ":balsa",
1099 ":epoll_server",
1100 ":net",
1101 "//base",
[email protected]edfd0f42014-07-22 18:20:371102 "//third_party/boringssl",
[email protected]8603c5de2014-04-16 20:34:311103 ]
1104 }
1105
1106 executable("flip_in_mem_edsm_server_unittests") {
Brett Wilson8f80ad0b2014-09-08 19:50:241107 testonly = true
[email protected]8603c5de2014-04-16 20:34:311108 sources = [
1109 "tools/flip_server/flip_test_utils.cc",
1110 "tools/flip_server/flip_test_utils.h",
1111 "tools/flip_server/http_interface_test.cc",
1112 "tools/flip_server/mem_cache_test.cc",
1113 "tools/flip_server/run_all_tests.cc",
1114 "tools/flip_server/spdy_interface_test.cc",
rvargas145310f2015-08-14 18:09:041115 "tools/flip_server/url_to_filename_encoder_unittest.cc",
1116 "tools/flip_server/url_utilities_unittest.cc",
[email protected]8603c5de2014-04-16 20:34:311117 ]
1118 deps = [
brettwbc44c0a92015-02-20 22:30:391119 ":balsa",
[email protected]8603c5de2014-04-16 20:34:311120 ":flip_in_mem_edsm_server_base",
1121 ":net",
[email protected]b2b2bf52014-05-28 20:26:571122 ":test_support",
brettwba7a73d2015-08-31 22:17:391123 "//build/config/sanitizers:deps",
[email protected]8603c5de2014-04-16 20:34:311124 "//testing/gmock",
agrieved7a71c882015-11-20 19:53:281125 "//testing/gtest",
[email protected]edfd0f42014-07-22 18:20:371126 "//third_party/boringssl",
[email protected]8603c5de2014-04-16 20:34:311127 ]
1128 }
1129
1130 executable("flip_in_mem_edsm_server") {
Brett Wilson8f80ad0b2014-09-08 19:50:241131 testonly = true
scottmg34fb7e52014-12-03 23:27:241132 sources = [
1133 "tools/flip_server/flip_in_mem_edsm_server.cc",
1134 ]
[email protected]8603c5de2014-04-16 20:34:311135 deps = [
brettwbc44c0a92015-02-20 22:30:391136 ":balsa",
[email protected]8603c5de2014-04-16 20:34:311137 ":flip_in_mem_edsm_server_base",
1138 ":net",
1139 "//base",
brettwba7a73d2015-08-31 22:17:391140 "//build/config/sanitizers:deps",
[email protected]8603c5de2014-04-16 20:34:311141 ]
1142 }
1143
rch216445c2015-03-27 00:23:281144 source_set("epoll_quic_tools") {
[email protected]8603c5de2014-04-16 20:34:311145 sources = [
1146 "tools/quic/quic_client.cc",
1147 "tools/quic/quic_client.h",
[email protected]8603c5de2014-04-16 20:34:311148 "tools/quic/quic_default_packet_writer.cc",
1149 "tools/quic/quic_default_packet_writer.h",
[email protected]8603c5de2014-04-16 20:34:311150 "tools/quic/quic_epoll_clock.cc",
1151 "tools/quic/quic_epoll_clock.h",
1152 "tools/quic/quic_epoll_connection_helper.cc",
1153 "tools/quic/quic_epoll_connection_helper.h",
rtennetifb3fa6c2015-03-16 23:04:551154 "tools/quic/quic_packet_reader.cc",
1155 "tools/quic/quic_packet_reader.h",
[email protected]8603c5de2014-04-16 20:34:311156 "tools/quic/quic_packet_writer_wrapper.cc",
1157 "tools/quic/quic_packet_writer_wrapper.h",
1158 "tools/quic/quic_server.cc",
1159 "tools/quic/quic_server.h",
[email protected]8603c5de2014-04-16 20:34:311160 "tools/quic/quic_socket_utils.cc",
1161 "tools/quic/quic_socket_utils.h",
[email protected]8603c5de2014-04-16 20:34:311162 ]
1163 deps = [
1164 ":balsa",
1165 ":epoll_server",
1166 ":net",
tfarina8ac4d17f2015-12-16 02:11:111167 ":simple_quic_tools",
[email protected]8603c5de2014-04-16 20:34:311168 "//base",
1169 "//base/third_party/dynamic_annotations",
1170 "//crypto",
[email protected]edfd0f42014-07-22 18:20:371171 "//third_party/boringssl",
[email protected]8603c5de2014-04-16 20:34:311172 "//url",
1173 ]
1174 }
1175
rch216445c2015-03-27 00:23:281176 executable("epoll_quic_client") {
scottmg34fb7e52014-12-03 23:27:241177 sources = [
1178 "tools/quic/quic_client_bin.cc",
1179 ]
[email protected]8603c5de2014-04-16 20:34:311180 deps = [
brettwbc44c0a92015-02-20 22:30:391181 ":balsa",
rch216445c2015-03-27 00:23:281182 ":epoll_quic_tools",
agrieved7a71c882015-11-20 19:53:281183 ":epoll_server",
rch216445c2015-03-27 00:23:281184 ":net",
1185 ":simple_quic_tools",
1186 "//base",
brettwba7a73d2015-08-31 22:17:391187 "//build/config/sanitizers:deps",
rch216445c2015-03-27 00:23:281188 "//third_party/boringssl",
1189 ]
1190 }
1191
1192 executable("epoll_quic_server") {
1193 sources = [
1194 "tools/quic/quic_server_bin.cc",
1195 ]
1196 deps = [
1197 ":balsa",
rch216445c2015-03-27 00:23:281198 ":epoll_quic_tools",
agrieved7a71c882015-11-20 19:53:281199 ":epoll_server",
[email protected]8603c5de2014-04-16 20:34:311200 ":net",
rchda78df5a2015-03-22 05:16:371201 ":simple_quic_tools",
[email protected]8603c5de2014-04-16 20:34:311202 "//base",
brettwba7a73d2015-08-31 22:17:391203 "//build/config/sanitizers:deps",
[email protected]edfd0f42014-07-22 18:20:371204 "//third_party/boringssl",
[email protected]8603c5de2014-04-16 20:34:311205 ]
1206 }
[email protected]8603c5de2014-04-16 20:34:311207}
1208
[email protected]ef0eb442014-05-15 09:32:181209if (is_android) {
1210 generate_jni("net_jni_headers") {
1211 sources = [
1212 "android/java/src/org/chromium/net/AndroidCertVerifyResult.java",
1213 "android/java/src/org/chromium/net/AndroidKeyStore.java",
1214 "android/java/src/org/chromium/net/AndroidNetworkLibrary.java",
tbansal59a1ddc2015-09-14 17:35:011215 "android/java/src/org/chromium/net/AndroidTrafficStats.java",
[email protected]ef0eb442014-05-15 09:32:181216 "android/java/src/org/chromium/net/GURLUtils.java",
aberentec894a52015-07-09 14:45:531217 "android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java",
xunjieli905496a2015-08-31 15:51:171218 "android/java/src/org/chromium/net/NetStringUtil.java",
[email protected]ef0eb442014-05-15 09:32:181219 "android/java/src/org/chromium/net/NetworkChangeNotifier.java",
1220 "android/java/src/org/chromium/net/ProxyChangeListener.java",
1221 "android/java/src/org/chromium/net/X509Util.java",
1222 ]
1223 jni_package = "net"
1224 }
cjhopmandad5f4272014-09-05 01:00:551225 generate_jni("net_test_jni_headers") {
1226 sources = [
1227 "android/javatests/src/org/chromium/net/AndroidKeyStoreTestUtil.java",
aberentec894a52015-07-09 14:45:531228 "test/android/javatests/src/org/chromium/net/test/DummySpnegoAuthenticator.java",
jbudorickccffb982015-12-22 01:21:351229 "test/android/javatests/src/org/chromium/net/test/EmbeddedTestServerImpl.java",
cjhopmandad5f4272014-09-05 01:00:551230 ]
brettwcdccaf02015-07-27 16:27:091231 jni_package = "net/test"
cjhopmandad5f4272014-09-05 01:00:551232 }
[email protected]ef0eb442014-05-15 09:32:181233}
[email protected]8603c5de2014-04-16 20:34:311234
1235if (is_android || is_linux) {
1236 executable("disk_cache_memory_test") {
Brett Wilson8f80ad0b2014-09-08 19:50:241237 testonly = true
scottmg34fb7e52014-12-03 23:27:241238 sources = [
1239 "tools/disk_cache_memory_test/disk_cache_memory_test.cc",
1240 ]
[email protected]8603c5de2014-04-16 20:34:311241 deps = [
1242 ":net",
1243 "//base",
brettwba7a73d2015-08-31 22:17:391244 "//build/config/sanitizers:deps",
[email protected]8603c5de2014-04-16 20:34:311245 ]
1246 }
1247}
[email protected]8a3f8242014-06-05 18:05:121248
rch47ad01f2015-03-20 21:17:231249source_set("simple_quic_tools") {
rcha9d12ce12015-03-19 23:06:491250 sources = [
rtennetid67b3a722015-08-18 05:15:311251 "tools/quic/quic_client_base.cc",
1252 "tools/quic/quic_client_base.h",
rched113b22015-03-26 04:54:051253 "tools/quic/quic_client_session.cc",
1254 "tools/quic/quic_client_session.h",
rchc99f380c2015-03-26 19:50:561255 "tools/quic/quic_dispatcher.cc",
1256 "tools/quic/quic_dispatcher.h",
rch0e945472015-03-26 15:19:211257 "tools/quic/quic_in_memory_cache.cc",
1258 "tools/quic/quic_in_memory_cache.h",
rchc99f380c2015-03-26 19:50:561259 "tools/quic/quic_per_connection_packet_writer.cc",
1260 "tools/quic/quic_per_connection_packet_writer.h",
rch0e945472015-03-26 15:19:211261 "tools/quic/quic_server_session.cc",
1262 "tools/quic/quic_server_session.h",
rcha9d12ce12015-03-19 23:06:491263 "tools/quic/quic_simple_client.cc",
1264 "tools/quic/quic_simple_client.h",
rch216445c2015-03-27 00:23:281265 "tools/quic/quic_simple_per_connection_packet_writer.cc",
1266 "tools/quic/quic_simple_per_connection_packet_writer.h",
1267 "tools/quic/quic_simple_server.cc",
1268 "tools/quic/quic_simple_server.h",
1269 "tools/quic/quic_simple_server_packet_writer.cc",
1270 "tools/quic/quic_simple_server_packet_writer.h",
danzhb7551342015-12-18 02:06:401271 "tools/quic/quic_simple_server_stream.cc",
1272 "tools/quic/quic_simple_server_stream.h",
rched113b22015-03-26 04:54:051273 "tools/quic/quic_spdy_client_stream.cc",
1274 "tools/quic/quic_spdy_client_stream.h",
rch0e945472015-03-26 15:19:211275 "tools/quic/quic_time_wait_list_manager.cc",
1276 "tools/quic/quic_time_wait_list_manager.h",
rchda78df5a2015-03-22 05:16:371277 "tools/quic/synchronous_host_resolver.cc",
1278 "tools/quic/synchronous_host_resolver.h",
rcha9d12ce12015-03-19 23:06:491279 ]
1280 deps = [
tfarina8ac4d17f2015-12-16 02:11:111281 ":balsa",
rcha9d12ce12015-03-19 23:06:491282 ":net",
1283 "//base",
rch47ad01f2015-03-20 21:17:231284 "//base/third_party/dynamic_annotations",
1285 "//url",
1286 ]
1287}
1288
ricea7afa5232015-12-01 20:55:231289action_foreach("stale_while_revalidate_experiment_domains_dafsa") {
1290 script = "//net/tools/dafsa/make_dafsa.py"
1291 sources = [
1292 "base/stale_while_revalidate_experiment_domains.gperf",
1293 ]
1294 outputs = [
1295 "${target_gen_dir}/base/{{source_name_part}}-inc.cc",
1296 ]
1297 args = [
1298 "{{source}}",
1299 rebase_path("${target_gen_dir}/base/{{source_name_part}}-inc.cc",
1300 root_build_dir),
1301 ]
1302}
1303
1304source_set("stale_while_revalidate_experiment_domains") {
1305 sources = [
1306 "base/stale_while_revalidate_experiment_domains.cc",
1307 "base/stale_while_revalidate_experiment_domains.h",
1308 ]
1309 deps = [
1310 ":net",
1311 ":stale_while_revalidate_experiment_domains_dafsa",
1312 "//base",
1313 ]
1314 configs += net_shared_configs
1315}
1316
sherouk51b4b098b2015-08-10 09:00:431317if (!is_ios) {
1318 executable("quic_client") {
1319 sources = [
1320 "tools/quic/quic_simple_client_bin.cc",
1321 ]
1322 deps = [
1323 ":net",
1324 ":simple_quic_tools",
1325 "//base",
brettwba7a73d2015-08-31 22:17:391326 "//build/config/sanitizers:deps",
sherouk51b4b098b2015-08-10 09:00:431327 "//url",
1328 ]
1329 }
1330 executable("quic_server") {
1331 sources = [
1332 "tools/quic/quic_simple_server_bin.cc",
1333 ]
1334 deps = [
1335 ":net",
1336 ":simple_quic_tools",
1337 "//base",
brettwba7a73d2015-08-31 22:17:391338 "//build/config/sanitizers:deps",
sherouk51b4b098b2015-08-10 09:00:431339 "//third_party/boringssl",
1340 "//third_party/protobuf:protobuf_lite",
1341 ]
1342 }
rch216445c2015-03-27 00:23:281343}
1344
dpranke64df2832015-07-31 22:33:361345# TODO(GYP): Delete this after we've converted everything to GN.
1346# The _run targets exist only for compatibility w/ GYP.
1347group("net_unittests_run") {
1348 testonly = true
1349 deps = [
1350 ":net_unittests",
1351 ]
1352}
1353
1354test("net_unittests") {
1355 sources = gypi_values.net_test_sources
1356
sherouk51b4b098b2015-08-10 09:00:431357 if (is_ios) {
1358 sources -= [
1359 "websockets/websocket_stream_cookie_test.cc",
1360 "websockets/websocket_stream_create_test_base.cc",
1361 "websockets/websocket_stream_create_test_base.h",
1362 ]
1363 }
1364
dpranke64df2832015-07-31 22:33:361365 configs += [
1366 "//build/config:precompiled_headers",
1367
1368 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1369 "//build/config/compiler:no_size_t_to_int_warning",
1370 ]
1371 defines = []
1372
1373 deps = [
1374 ":balsa",
1375 ":extras",
1376 ":http_server",
1377 ":net",
1378 ":simple_quic_tools",
ricea7afa5232015-12-01 20:55:231379 ":stale_while_revalidate_experiment_domains",
dpranke64df2832015-07-31 22:33:361380 ":test_support",
1381 "//base",
1382 "//base:i18n",
1383 "//base:prefs_test_support",
1384 "//base/allocator",
1385 "//base/third_party/dynamic_annotations",
1386 "//crypto",
1387 "//crypto:platform",
1388 "//crypto:test_support",
dpranke64df2832015-07-31 22:33:361389 "//net/base/registry_controlled_domains",
1390 "//sql",
1391 "//testing/gmock",
1392 "//testing/gtest",
1393 "//third_party/zlib",
1394 "//url",
1395 ]
1396
1397 data = [
1398 "data/",
1399 ]
1400
1401 if (is_linux || is_mac || is_win) {
1402 deps += [
1403 "//third_party/pyftpdlib/",
1404 "//third_party/pywebsocket/",
1405 "//third_party/tlslite/",
1406 ]
1407 data_deps = [
1408 "//third_party/pyftpdlib/",
1409 "//third_party/pywebsocket/",
1410 "//third_party/tlslite/",
1411 ]
1412 data += [
1413 "tools/testserver/",
1414 "//third_party/pyftpdlib/",
1415 "//third_party/pywebsocket/",
1416 "//third_party/tlslite/",
1417 "$root_out_dir/pyproto/google/",
dprankef497c7962015-07-31 19:46:231418 ]
1419 }
1420
dpranke64df2832015-07-31 22:33:361421 if (is_desktop_linux) {
1422 deps += [ ":epoll_quic_tools" ]
1423 }
1424 if (is_linux) {
1425 sources += gypi_values.net_linux_test_sources
1426 deps += [
1427 ":epoll_quic_tools",
1428 ":epoll_server",
1429 ":flip_in_mem_edsm_server_base",
brettwbc8b2a22015-07-28 18:24:421430 ]
dpranke64df2832015-07-31 22:33:361431 }
[email protected]8a3f8242014-06-05 18:05:121432
dpranke64df2832015-07-31 22:33:361433 if (is_mac || is_ios) {
1434 sources += gypi_values.net_base_test_mac_ios_sources
1435 }
1436
1437 if (is_chromeos) {
1438 sources -= [ "proxy/proxy_config_service_linux_unittest.cc" ]
1439 }
1440
1441 if (v8_use_external_startup_data) {
1442 deps += [ "//gin" ]
1443 }
1444
1445 if (!use_nss_certs) {
1446 sources -= [
1447 "cert/nss_cert_database_unittest.cc",
1448 "ssl/client_cert_store_nss_unittest.cc",
[email protected]8a3f8242014-06-05 18:05:121449 ]
dpranke64df2832015-07-31 22:33:361450 if (is_chromeos) { # Already removed for all non-ChromeOS builds.
davidben2bcbc6b2015-04-22 02:36:411451 sources -= [
dpranke64df2832015-07-31 22:33:361452 "cert/nss_cert_database_chromeos_unittest.cc",
1453 "cert/nss_profile_filter_chromeos_unittest.cc",
davidben2bcbc6b2015-04-22 02:36:411454 ]
brettw43ae0e12015-07-14 22:12:361455 }
[email protected]8a3f8242014-06-05 18:05:121456 }
dpranke64df2832015-07-31 22:33:361457
1458 if (use_openssl) {
dpranke64df2832015-07-31 22:33:361459 sources -= [ "quic/test_tools/crypto_test_utils_nss.cc" ]
1460 } else {
1461 sources -= [
dpranke64df2832015-07-31 22:33:361462 "quic/test_tools/crypto_test_utils_openssl.cc",
1463 "socket/ssl_client_socket_openssl_unittest.cc",
1464 "ssl/ssl_client_session_cache_openssl_unittest.cc",
1465 ]
1466 }
1467
1468 if (use_kerberos) {
1469 defines += [ "USE_KERBEROS" ]
1470 }
1471
1472 # These are excluded on Android, because the actual Kerberos support, which
1473 # these test, is in a separate app on Android.
1474 if (!use_kerberos || is_android) {
1475 sources -= [
1476 "http/http_auth_gssapi_posix_unittest.cc",
1477 "http/mock_gssapi_library_posix.cc",
1478 "http/mock_gssapi_library_posix.h",
1479 ]
1480 }
1481 if (!use_kerberos) {
1482 sources -= [ "http/http_auth_handler_negotiate_unittest.cc" ]
1483 }
1484
davidbene1858d82015-12-09 02:18:401485 if (!use_nss_certs && !is_ios) {
dpranke64df2832015-07-31 22:33:361486 # Only include this test when on Posix and using NSS for
1487 # cert verification or on iOS (which also uses NSS for certs).
1488 sources -= [ "cert_net/nss_ocsp_unittest.cc" ]
1489 }
1490
1491 if (!use_openssl_certs) {
1492 sources -= [ "ssl/openssl_client_key_store_unittest.cc" ]
1493 }
1494
1495 if (!enable_websockets) {
1496 sources -= [
1497 "server/http_connection_unittest.cc",
1498 "server/http_server_response_info_unittest.cc",
1499 "server/http_server_unittest.cc",
1500 "server/web_socket_encoder_unittest.cc",
1501 "websockets/websocket_basic_stream_test.cc",
1502 "websockets/websocket_channel_test.cc",
dprankea8d2fb92015-10-28 22:25:231503 "websockets/websocket_deflate_parameters_test.cc",
dpranke64df2832015-07-31 22:33:361504 "websockets/websocket_deflate_predictor_impl_test.cc",
1505 "websockets/websocket_deflate_stream_test.cc",
1506 "websockets/websocket_deflater_test.cc",
1507 "websockets/websocket_end_to_end_test.cc",
1508 "websockets/websocket_errors_test.cc",
1509 "websockets/websocket_extension_parser_test.cc",
dprankea8d2fb92015-10-28 22:25:231510 "websockets/websocket_extension_test.cc",
dpranke64df2832015-07-31 22:33:361511 "websockets/websocket_frame_parser_test.cc",
1512 "websockets/websocket_frame_test.cc",
1513 "websockets/websocket_handshake_challenge_test.cc",
1514 "websockets/websocket_handshake_stream_create_helper_test.cc",
1515 "websockets/websocket_inflater_test.cc",
1516 "websockets/websocket_stream_test.cc",
1517 "websockets/websocket_test_util.cc",
1518 "websockets/websocket_test_util.h",
1519 ]
1520 deps -= [ ":http_server" ]
1521 }
1522
1523 if (disable_file_support) {
1524 sources -= [
1525 "base/directory_lister_unittest.cc",
1526 "url_request/url_request_file_job_unittest.cc",
1527 ]
1528 }
1529
1530 if (disable_ftp_support) {
1531 sources -= [
1532 "ftp/ftp_auth_cache_unittest.cc",
1533 "ftp/ftp_ctrl_response_buffer_unittest.cc",
1534 "ftp/ftp_directory_listing_parser_ls_unittest.cc",
dpranke64df2832015-07-31 22:33:361535 "ftp/ftp_directory_listing_parser_unittest.cc",
1536 "ftp/ftp_directory_listing_parser_unittest.h",
1537 "ftp/ftp_directory_listing_parser_vms_unittest.cc",
1538 "ftp/ftp_directory_listing_parser_windows_unittest.cc",
1539 "ftp/ftp_network_transaction_unittest.cc",
1540 "ftp/ftp_util_unittest.cc",
1541 "url_request/url_request_ftp_job_unittest.cc",
1542 ]
1543 }
1544
xunjieli11834f02015-12-22 04:27:081545 if (!enable_bidirectional_stream) {
1546 sources -= [ "http/bidirectional_stream_unittest.cc" ]
1547 }
dpranke64df2832015-07-31 22:33:361548 if (!enable_built_in_dns) {
1549 sources -= [
1550 "dns/address_sorter_posix_unittest.cc",
1551 "dns/address_sorter_unittest.cc",
1552 ]
1553 }
1554
xunjieli905496a2015-08-31 15:51:171555 if (use_v8_in_net) {
dpranke64df2832015-07-31 22:33:361556 deps += [ ":net_with_v8" ]
1557 } else {
1558 sources -= [
1559 "proxy/proxy_resolver_v8_tracing_unittest.cc",
1560 "proxy/proxy_resolver_v8_tracing_wrapper_unittest.cc",
1561 "proxy/proxy_resolver_v8_unittest.cc",
1562 ]
1563 }
1564
1565 if (use_v8_in_net && !is_android) {
1566 deps += [
1567 ":net_browser_services",
1568 ":net_utility_services",
1569 "//mojo/environment:chromium",
1570 "//third_party/mojo/src/mojo/edk/system",
1571 ]
1572 } else {
1573 sources -= [
1574 "dns/host_resolver_mojo_unittest.cc",
1575 "dns/mojo_host_resolver_impl_unittest.cc",
1576 "proxy/mojo_proxy_resolver_factory_impl_unittest.cc",
1577 "proxy/mojo_proxy_resolver_impl_unittest.cc",
1578 "proxy/mojo_proxy_resolver_v8_tracing_bindings_unittest.cc",
1579 "proxy/proxy_resolver_factory_mojo_unittest.cc",
1580 "proxy/proxy_service_mojo_unittest.cc",
1581 ]
1582 }
1583
1584 if (!enable_mdns) {
1585 sources -= [
1586 "dns/mdns_cache_unittest.cc",
1587 "dns/mdns_client_unittest.cc",
1588 "dns/record_parsed_unittest.cc",
1589 "dns/record_rdata_unittest.cc",
1590 ]
1591 }
1592
1593 if (is_ios) {
1594 # TODO(GYP)
1595 # 'actions': [
1596 # {
1597 # 'action_name': 'copy_test_data',
1598 # 'variables': {
1599 # 'test_data_files': [
mattm61c80732015-11-02 22:35:441600 # 'data/certificate_policies_unittest/',
mattm2c59d262015-10-29 05:33:211601 # 'data/name_constraints_unittest/',
eromanc1aac5a2015-12-18 02:23:061602 # 'data/parse_certificate_unittest/',
dpranke64df2832015-07-31 22:33:361603 # 'data/ssl/certificates/',
1604 # 'data/test.html',
1605 # 'data/url_request_unittest/',
eromanc1aac5a2015-12-18 02:23:061606 # 'data/verify_certificate_chain_unittest/',
mattm057b0152015-08-11 00:26:241607 # 'data/verify_name_match_unittest/names/',
dpranke64df2832015-07-31 22:33:361608 # ],
1609 # 'test_data_prefix': 'net',
1610 # },
1611 # 'includes': [ '../build/copy_test_data_ios.gypi' ],
1612 # },
1613 # ],
1614 sources -= [
1615 # TODO(droger): The following tests are disabled because the
1616 # implementation is missing or incomplete.
1617 # KeygenHandler::GenKeyAndSignChallenge() is not ported to iOS.
1618 "base/keygen_handler_unittest.cc",
1619 "disk_cache/backend_unittest.cc",
1620 "disk_cache/blockfile/block_files_unittest.cc",
1621
1622 # Need to read input data files.
1623 "filter/gzip_filter_unittest.cc",
1624 "socket/ssl_server_socket_unittest.cc",
1625 "spdy/fuzzing/hpack_fuzz_util_test.cc",
1626
1627 # Need TestServer.
1628 "cert_net/cert_net_fetcher_impl_unittest.cc",
1629 "proxy/proxy_script_fetcher_impl_unittest.cc",
1630 "socket/ssl_client_socket_unittest.cc",
1631 "url_request/url_fetcher_impl_unittest.cc",
1632 "url_request/url_request_context_builder_unittest.cc",
1633
1634 # Needs GetAppOutput().
1635 "test/python_utils_unittest.cc",
1636
1637 # The following tests are disabled because they don't apply to
1638 # iOS.
1639 # OS is not "linux" or "freebsd" or "openbsd".
1640 "socket/unix_domain_client_socket_posix_unittest.cc",
1641 "socket/unix_domain_server_socket_posix_unittest.cc",
1642
1643 # See bug http://crbug.com/344533.
1644 "disk_cache/blockfile/index_table_v3_unittest.cc",
1645 ]
1646 }
1647
1648 if (is_android) {
agrieve97176362015-12-01 16:36:191649 deps += [
1650 ":net_test_jni_headers",
agrievea5517aa2015-10-23 03:03:451651 "//base:base_java_unittest_support",
1652 "//net/android:net_java",
agrievea5517aa2015-10-23 03:03:451653 "//net/android:net_java_test_support",
agrieve97176362015-12-01 16:36:191654 "//net/android:net_javatests",
agrievea5517aa2015-10-23 03:03:451655 "//net/android:net_unittests_apk_resources",
agrieve97176362015-12-01 16:36:191656
1657 # TODO(mmenke): This depends on test_support_base, which depends on
1658 # icu. Figure out a way to remove that dependency.
1659 "//testing/android/native_test:native_test_native_code",
pkotwicz8c7027d2015-11-11 06:30:071660 "//v8:v8_external_startup_data_assets",
agrievea5517aa2015-10-23 03:03:451661 ]
1662 android_manifest = "//net/android/unittest_support/AndroidManifest.xml"
dpranke64df2832015-07-31 22:33:361663 sources -= [
1664 # See bug http://crbug.com/344533.
1665 "disk_cache/blockfile/index_table_v3_unittest.cc",
dpranke64df2832015-07-31 22:33:361666 ]
dpranke64df2832015-07-31 22:33:361667 set_sources_assignment_filter([])
1668 sources += [ "base/address_tracker_linux_unittest.cc" ]
1669 set_sources_assignment_filter(sources_assignment_filter)
1670 isolate_file = "net_unittests.isolate"
1671 }
1672
dpranke64df2832015-07-31 22:33:361673 # Symbols for crashes when running tests on swarming.
1674 if (symbol_level > 0) {
1675 if (is_win) {
1676 data += [ "$root_out_dir/net_unittests.exe.pdb" ]
1677 } else if (is_mac) {
1678 data += [ "$root_out_dir/net_unittests.dSYM/" ]
1679 }
1680 }
1681}
1682
1683# !is_android && !is_win && !is_mac
[email protected]8a3f8242014-06-05 18:05:121684
rockot9c67e5f2015-03-12 20:01:211685executable("net_perftests") {
1686 testonly = true
1687 sources = [
ricea10eb9f5e2015-05-19 18:51:571688 "base/mime_sniffer_perftest.cc",
rockot9c67e5f2015-03-12 20:01:211689 "cookies/cookie_monster_perftest.cc",
1690 "disk_cache/blockfile/disk_cache_perftest.cc",
rohitrao1860223c2015-05-16 01:07:141691 "extras/sqlite/sqlite_persistent_cookie_store_perftest.cc",
rockot9c67e5f2015-03-12 20:01:211692 "proxy/proxy_resolver_perftest.cc",
1693 "udp/udp_socket_perftest.cc",
1694 ]
1695
1696 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1697 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
1698 deps = [
brettwcdccaf02015-07-27 16:27:091699 ":extras",
1700 ":net",
1701 ":test_support",
rockot9c67e5f2015-03-12 20:01:211702 "//base",
1703 "//base:i18n",
1704 "//base/test:test_support_perf",
brettwba7a73d2015-08-31 22:17:391705 "//build/config/sanitizers:deps",
rockot9c67e5f2015-03-12 20:01:211706 "//testing/gtest",
1707 "//url",
rockot9c67e5f2015-03-12 20:01:211708 ]
1709
1710 if (enable_websockets) {
1711 sources += [ "websockets/websocket_frame_perftest.cc" ]
1712 }
1713
1714 if (use_v8_in_net) {
1715 deps += [ ":net_with_v8" ]
1716 } else {
1717 sources -= [ "proxy/proxy_resolver_perftest.cc" ]
1718 }
rockot9c67e5f2015-03-12 20:01:211719}