blob: b8e916c7cc89042e34358c003078468432b63c36 [file] [log] [blame]
Randy Smithb62069432017-12-29 15:27:071# Copyright 2017 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
5import("//mojo/public/tools/bindings/mojom.gni")
John Abd-El-Malekba4ede22018-01-31 02:42:426import("//services/catalog/public/tools/catalog.gni")
7import("//services/service_manager/public/cpp/service.gni")
John Abd-El-Malek3bbbdf92018-01-30 03:27:358import("//services/service_manager/public/service_manifest.gni")
John Abd-El-Malekba4ede22018-01-31 02:42:429import("//services/service_manager/public/tools/test/service_test.gni")
Randy Smithb62069432017-12-29 15:27:0710
John Abd-El-Malek8e82a322018-01-31 20:30:4711component("network_service") {
Randy Smithb62069432017-12-29 15:27:0712 sources = [
Jay Civelli78612bf2018-03-01 20:59:1213 "conditional_cache_deletion_helper.cc",
14 "conditional_cache_deletion_helper.h",
Randy Smithb62069432017-12-29 15:27:0715 "cookie_manager.cc",
16 "cookie_manager.h",
Takashi Toyoshima63231ede32018-02-26 08:52:5317 "cors/preflight_controller.cc",
18 "cors/preflight_controller.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:3519 "data_pipe_element_reader.cc",
20 "data_pipe_element_reader.h",
Jay Civelli78612bf2018-03-01 20:59:1221 "http_cache_data_remover.cc",
22 "http_cache_data_remover.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:3523 "http_server_properties_pref_delegate.cc",
24 "http_server_properties_pref_delegate.h",
John Abd-El-Malek89c02ae2018-02-01 01:56:1925 "ignore_errors_cert_verifier.cc",
26 "ignore_errors_cert_verifier.h",
Yutaka Hirano92f51cda2018-02-02 01:42:0127 "keepalive_statistics_recorder.cc",
28 "keepalive_statistics_recorder.h",
John Abd-El-Malek89c02ae2018-02-01 01:56:1929 "loader_util.cc",
30 "loader_util.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:3531 "network_change_manager.cc",
32 "network_change_manager.h",
33 "network_context.cc",
34 "network_context.h",
35 "network_sandbox_hook_linux.cc",
36 "network_sandbox_hook_linux.h",
John Abd-El-Malek8e82a322018-01-31 20:30:4737 "network_service.cc",
38 "network_service.h",
John Abd-El-Malek3ea98672018-01-17 20:33:0639 "proxy_config_service_mojo.cc",
40 "proxy_config_service_mojo.h",
John Abd-El-Malek89c02ae2018-02-01 01:56:1941 "proxy_resolving_client_socket.cc",
42 "proxy_resolving_client_socket.h",
43 "proxy_resolving_client_socket_factory.cc",
44 "proxy_resolving_client_socket_factory.h",
Yutaka Hirano4cd4e302018-02-01 17:38:0045 "resource_scheduler.cc",
46 "resource_scheduler.h",
Yutaka Hiranoc9f631a2018-02-13 08:56:2747 "resource_scheduler_client.cc",
48 "resource_scheduler_client.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:3549 "restricted_cookie_manager.cc",
50 "restricted_cookie_manager.h",
51 "throttling/network_conditions.cc",
52 "throttling/network_conditions.h",
53 "throttling/throttling_controller.cc",
54 "throttling/throttling_controller.h",
55 "throttling/throttling_network_interceptor.cc",
56 "throttling/throttling_network_interceptor.h",
57 "throttling/throttling_network_transaction.cc",
58 "throttling/throttling_network_transaction.h",
59 "throttling/throttling_network_transaction_factory.cc",
60 "throttling/throttling_network_transaction_factory.h",
61 "throttling/throttling_upload_data_stream.cc",
62 "throttling/throttling_upload_data_stream.h",
Helen Li8dd1fbe02018-01-22 21:48:0863 "udp_socket.cc",
64 "udp_socket.h",
65 "udp_socket_factory.cc",
66 "udp_socket_factory.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:3567 "upload_progress_tracker.cc",
68 "upload_progress_tracker.h",
69 "url_loader.cc",
70 "url_loader.h",
John Abd-El-Malekdc106a822018-02-09 00:00:4071 "url_loader_factory.cc",
72 "url_loader_factory.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:3573 "url_request_context_builder_mojo.cc",
John Abd-El-Malek8e82a322018-01-31 20:30:4774 "url_request_context_builder_mojo.h",
John Abd-El-Malek4556c6b02018-02-01 22:11:2375 "url_request_context_owner.cc",
76 "url_request_context_owner.h",
Randy Smithb62069432017-12-29 15:27:0777 ]
78
79 deps = [
80 "//base",
John Abd-El-Malek3bbbdf92018-01-30 03:27:3581 "//components/cookie_config",
82 "//components/network_session_configurator/browser",
83 "//components/network_session_configurator/common",
84 "//components/prefs",
85 "//mojo/common:common_base",
Randy Smithb62069432017-12-29 15:27:0786 "//mojo/public/cpp/bindings",
87 "//net",
John Abd-El-Malek3bbbdf92018-01-30 03:27:3588 "//net:extras",
89 "//services/network/public/cpp",
Ken Rockot54311e62018-02-10 19:01:5290 "//services/network/public/mojom",
John Abd-El-Malek3bbbdf92018-01-30 03:27:3591 "//services/service_manager/public/cpp",
Ken Rockot543f5e32018-02-04 02:13:5092 "//services/service_manager/public/mojom",
Randy Smithb62069432017-12-29 15:27:0793 "//url",
94 ]
John Abd-El-Malek3bbbdf92018-01-30 03:27:3595
96 if (is_linux) {
97 deps += [
98 "//sandbox/linux:sandbox_services",
99 "//services/service_manager/sandbox:sandbox",
100 ]
101 }
102
103 # TODO(sdefresne): This depends on net's enable_net_mojo getting turned on for
104 # iOS, which depends on net_with_v8 as well. http://crbug.com/803149
105 if (!is_ios) {
106 sources += [
107 "proxy_resolver_factory_mojo.cc",
108 "proxy_resolver_factory_mojo.h",
109 "proxy_service_mojo.cc",
110 "proxy_service_mojo.h",
111 ]
112 deps += [ "//net:net_browser_services" ]
113 }
John Abd-El-Malek8e82a322018-01-31 20:30:47114
115 defines = [ "IS_NETWORK_SERVICE_IMPL" ]
Randy Smithb62069432017-12-29 15:27:07116}
117
118source_set("tests") {
119 testonly = true
120
121 sources = [
122 "cookie_manager_unittest.cc",
Takashi Toyoshima63231ede32018-02-26 08:52:53123 "cors/cors_url_loader_unittest.cc",
124 "cors/preflight_controller_unittest.cc",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35125 "data_pipe_element_reader_unittest.cc",
Jay Civelli78612bf2018-03-01 20:59:12126 "http_cache_data_remover_unittest.cc",
John Abd-El-Malek89c02ae2018-02-01 01:56:19127 "ignore_errors_cert_verifier_unittest.cc",
Yutaka Hirano92f51cda2018-02-02 01:42:01128 "keepalive_statistics_recorder_unittest.cc",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35129 "network_change_manager_unittest.cc",
130 "network_context_unittest.cc",
John Abd-El-Malekcfb3fae2018-02-05 19:29:45131 "network_service_unittest.cc",
John Abd-El-Malek3ea98672018-01-17 20:33:06132 "proxy_config_service_mojo_unittest.cc",
John Abd-El-Malek89c02ae2018-02-01 01:56:19133 "proxy_resolving_client_socket_unittest.cc",
Yutaka Hirano4cd4e302018-02-01 17:38:00134 "resource_scheduler_unittest.cc",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35135 "restricted_cookie_manager_unittest.cc",
John Abd-El-Malek7730c51c2018-02-09 19:22:29136 "test/test_url_loader_factory_unittest.cc",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35137 "throttling/throttling_controller_unittest.cc",
Helen Li8dd1fbe02018-01-22 21:48:08138 "udp_socket_factory_unittest.cc",
139 "udp_socket_unittest.cc",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35140 "upload_progress_tracker_unittest.cc",
John Abd-El-Malek3d915b2172018-01-31 18:58:00141 "url_loader_unittest.cc",
Randy Smithb62069432017-12-29 15:27:07142 ]
143
John Abd-El-Malek3bbbdf92018-01-30 03:27:35144 if (!is_ios) {
John Abd-El-Malekcfb3fae2018-02-05 19:29:45145 sources += [ "proxy_resolver_factory_mojo_unittest.cc" ]
John Abd-El-Malek3bbbdf92018-01-30 03:27:35146 }
147
Randy Smithb62069432017-12-29 15:27:07148 deps = [
John Abd-El-Malek3bbbdf92018-01-30 03:27:35149 ":network_service",
Helen Li8dd1fbe02018-01-22 21:48:08150 ":test_support",
Randy Smithb62069432017-12-29 15:27:07151 "//base",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35152 "//components/network_session_configurator/browser",
153 "//mojo/common:common_base",
Randy Smithb62069432017-12-29 15:27:07154 "//mojo/public/cpp/bindings",
155 "//net",
156 "//net:test_support",
Lei Zhang23267b82018-01-30 23:39:43157 "//services/network/public/cpp",
Ken Rockot54311e62018-02-10 19:01:52158 "//services/network/public/mojom",
John Abd-El-Malekba4ede22018-01-31 02:42:42159 "//services/service_manager/public/cpp",
160 "//services/service_manager/public/cpp:service_test_support",
Randy Smithb62069432017-12-29 15:27:07161 "//testing/gtest",
162 ]
163}
Matt Falkenhagen3662ebc2018-01-18 10:35:53164
Helen Li8dd1fbe02018-01-22 21:48:08165source_set("test_support") {
Matt Falkenhagen3662ebc2018-01-18 10:35:53166 testonly = true
167
168 sources = [
169 "test/test_data_pipe_getter.cc",
John Abd-El-Malekd0cd7c5c2018-01-30 07:20:02170 "test/test_data_pipe_getter.h",
171 "test/test_url_loader_client.cc",
172 "test/test_url_loader_client.h",
John Abd-El-Malek7730c51c2018-02-09 19:22:29173 "test/test_url_loader_factory.cc",
174 "test/test_url_loader_factory.h",
Helen Li8dd1fbe02018-01-22 21:48:08175 "udp_socket_test_util.cc",
176 "udp_socket_test_util.h",
Matt Falkenhagen3662ebc2018-01-18 10:35:53177 ]
178
179 deps = [
180 "//base",
181 "//mojo/public/cpp/bindings",
Helen Li8dd1fbe02018-01-22 21:48:08182 "//net",
Helen Lie7efd152018-01-29 19:04:26183 "//net:test_support",
Matt Falkenhagen3662ebc2018-01-18 10:35:53184 "//services/network:network_service",
Ken Rockot54311e62018-02-10 19:01:52185 "//services/network/public/mojom",
Matt Falkenhagen3662ebc2018-01-18 10:35:53186 "//testing/gtest",
187 ]
188}
John Abd-El-Malek3bbbdf92018-01-30 03:27:35189
190service_manifest("manifest") {
191 name = "network"
192 source = "manifest.json"
193}
John Abd-El-Malekba4ede22018-01-31 02:42:42194
195service_manifest("unittest_manifest") {
196 name = "network_unittests"
197 source = "test/service_unittest_manifest.json"
198 packaged_services = [ ":manifest" ]
199}
200
201catalog("tests_catalog") {
202 testonly = true
203 embedded_services = [ ":unittest_manifest" ]
204}