Ensure low-memory renderers retry failed loads correctly.
[chromium-blink-merge.git] / components / data_reduction_proxy.gypi
blobff704c3ce2b9689384c2f3d31febd808e59892ac
1 # Copyright 2014 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.
7   'variables' :
8   {
9      'data_reduction_proxy_core_browser_sources' : [
10         # Note: sources list duplicated in GN build.
11         "data_reduction_proxy/core/browser/data_reduction_proxy_debug_ui_service.h",
12         'data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.cc',
13         'data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.h',
14         'data_reduction_proxy/core/browser/data_reduction_proxy_bypass_stats.cc',
15         'data_reduction_proxy/core/browser/data_reduction_proxy_bypass_stats.h',
16         'data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.cc',
17         'data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.h',
18         'data_reduction_proxy/core/browser/data_reduction_proxy_config.cc',
19         'data_reduction_proxy/core/browser/data_reduction_proxy_config.h',
20         'data_reduction_proxy/core/browser/data_reduction_proxy_config_retrieval_params.cc',
21         'data_reduction_proxy/core/browser/data_reduction_proxy_config_retrieval_params.h',
22         'data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.cc',
23         'data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.h',
24         'data_reduction_proxy/core/browser/data_reduction_proxy_configurator.cc',
25         'data_reduction_proxy/core/browser/data_reduction_proxy_configurator.h',
26         'data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc',
27         'data_reduction_proxy/core/browser/data_reduction_proxy_delegate.h',
28         'data_reduction_proxy/core/browser/data_reduction_proxy_experiments_stats.cc',
29         'data_reduction_proxy/core/browser/data_reduction_proxy_experiments_stats.h',
30         'data_reduction_proxy/core/browser/data_reduction_proxy_interceptor.cc',
31         'data_reduction_proxy/core/browser/data_reduction_proxy_interceptor.h',
32         'data_reduction_proxy/core/browser/data_reduction_proxy_io_data.cc',
33         'data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h',
34         'data_reduction_proxy/core/browser/data_reduction_proxy_metrics.cc',
35         'data_reduction_proxy/core/browser/data_reduction_proxy_metrics.h',
36         'data_reduction_proxy/core/browser/data_reduction_proxy_mutable_config_values.cc',
37         'data_reduction_proxy/core/browser/data_reduction_proxy_mutable_config_values.h',
38         'data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate.cc',
39         'data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate.h',
40         'data_reduction_proxy/core/browser/data_reduction_proxy_prefs.cc',
41         'data_reduction_proxy/core/browser/data_reduction_proxy_prefs.h',
42         'data_reduction_proxy/core/browser/data_reduction_proxy_request_options.cc',
43         'data_reduction_proxy/core/browser/data_reduction_proxy_request_options.h',
44         'data_reduction_proxy/core/browser/data_reduction_proxy_service.cc',
45         'data_reduction_proxy/core/browser/data_reduction_proxy_service.h',
46         'data_reduction_proxy/core/browser/data_reduction_proxy_service_observer.h',
47         'data_reduction_proxy/core/browser/data_reduction_proxy_settings.cc',
48         'data_reduction_proxy/core/browser/data_reduction_proxy_settings.h',
49         'data_reduction_proxy/core/browser/data_reduction_proxy_tamper_detection.cc',
50         'data_reduction_proxy/core/browser/data_reduction_proxy_tamper_detection.h',
51         'data_reduction_proxy/core/browser/data_store.cc',
52         'data_reduction_proxy/core/browser/data_store.h',
53         'data_reduction_proxy/core/browser/data_usage_store.cc',
54         'data_reduction_proxy/core/browser/data_usage_store.h',
55         'data_reduction_proxy/core/browser/db_data_owner.cc',
56         'data_reduction_proxy/core/browser/db_data_owner.h',
57      ],
58      'data_reduction_proxy_core_browser_deps' : [
59         'data_reduction_proxy_version_header',
60         '../base/base.gyp:base',
61         '../crypto/crypto.gyp:crypto',
62         'pref_registry',
63      ],
64      'data_reduction_proxy_core_common_sources' : [
65         # Note: sources list duplicated in GN build.
66         'data_reduction_proxy/core/common/data_reduction_proxy_bypass_action_list.h',
67         'data_reduction_proxy/core/common/data_reduction_proxy_bypass_type_list.h',
68         'data_reduction_proxy/core/common/data_reduction_proxy_client_config_parser.cc',
69         'data_reduction_proxy/core/common/data_reduction_proxy_client_config_parser.h',
70         'data_reduction_proxy/core/common/data_reduction_proxy_config_values.h',
71         'data_reduction_proxy/core/common/data_reduction_proxy_event_creator.cc',
72         'data_reduction_proxy/core/common/data_reduction_proxy_event_creator.h',
73         'data_reduction_proxy/core/common/data_reduction_proxy_event_storage_delegate.h',
74         'data_reduction_proxy/core/common/data_reduction_proxy_event_store.cc',
75         'data_reduction_proxy/core/common/data_reduction_proxy_event_store.h',
76         'data_reduction_proxy/core/common/data_reduction_proxy_headers.cc',
77         'data_reduction_proxy/core/common/data_reduction_proxy_headers.h',
78         'data_reduction_proxy/core/common/data_reduction_proxy_params.cc',
79         'data_reduction_proxy/core/common/data_reduction_proxy_params.h',
80         'data_reduction_proxy/core/common/data_reduction_proxy_pref_names.cc',
81         'data_reduction_proxy/core/common/data_reduction_proxy_pref_names.h',
82         'data_reduction_proxy/core/common/data_reduction_proxy_switches.cc',
83         'data_reduction_proxy/core/common/data_reduction_proxy_switches.h',
84      ],
85   },
86   'conditions': [
87     # Small versions of libraries for Cronet.
88     ['OS=="android"', {
89       'targets' : [
90        {
91          # GN version: //components/data_reduction_proxy/core/browser
92          'target_name': 'data_reduction_proxy_core_browser_small',
93          'type': 'static_library',
94          'dependencies': [
95            '<@(data_reduction_proxy_core_browser_deps)',
96            '../net/net.gyp:net_small',
97            '../url/url.gyp:url_lib_use_icu_alternatives_on_android',
98            'data_reduction_proxy_core_common_small',
99            'data_reduction_proxy_proto',
100          ],
101          'include_dirs': [
102            '..',
103          ],
104          'sources': [
105            '<@(data_reduction_proxy_core_browser_sources)'
106          ],
107        },
108        {
109          # GN version: //components/data_reduction_proxy/core/common
110          'target_name': 'data_reduction_proxy_core_common_small',
111          'type': 'static_library',
112          'dependencies': [
113            '../base/base.gyp:base',
114            '../url/url.gyp:url_lib_use_icu_alternatives_on_android',
115            'data_reduction_proxy_proto',
116          ],
117          'include_dirs': [
118            '..',
119          ],
120          'sources': [
121            '<@(data_reduction_proxy_core_common_sources)'
122          ],
123        },
124     ]}]
125   ],
126   'targets': [
127    {
128       # GN Version: //components/data_reduction_proxy/content
129       'target_name': 'data_reduction_proxy_content',
130       'type': 'static_library',
131       'dependencies': [
132         '../base/base.gyp:base',
133         '../content/content.gyp:content_browser',
134         '../skia/skia.gyp:skia',
135         '../ui/base/ui_base.gyp:ui_base',
136         'components_resources.gyp:components_resources',
137         'components_strings.gyp:components_strings',
138       ],
139       'include_dirs': [
140         '..',
141       ],
142       'sources': [
143         # Note: sources list duplicated in GN build.
144         'data_reduction_proxy/content/browser/content_data_reduction_proxy_debug_ui_service.cc',
145         'data_reduction_proxy/content/browser/content_data_reduction_proxy_debug_ui_service.h',
146         'data_reduction_proxy/content/browser/data_reduction_proxy_debug_blocking_page.cc',
147         'data_reduction_proxy/content/browser/data_reduction_proxy_debug_blocking_page.h',
148         'data_reduction_proxy/content/browser/data_reduction_proxy_debug_resource_throttle.cc',
149         'data_reduction_proxy/content/browser/data_reduction_proxy_debug_resource_throttle.h',
150         'data_reduction_proxy/content/browser/data_reduction_proxy_debug_ui_manager.cc',
151         'data_reduction_proxy/content/browser/data_reduction_proxy_debug_ui_manager.h',
152       ],
153     },
154     {
155       # GN version: //components/data_reduction_proxy/content/common
156       'target_name': 'data_reduction_proxy_content_common',
157       'type': 'static_library',
158       'dependencies': [
159         '../content/content.gyp:content_common',
160         '../ipc/ipc.gyp:ipc',
161       ],
162       'include_dirs': [
163         '..',
164       ],
165       'sources': [
166         'data_reduction_proxy/content/common/data_reduction_proxy_messages.cc',
167         'data_reduction_proxy/content/common/data_reduction_proxy_messages.h',
168       ],
169     },
170     {
171       # GN version: //components/data_reduction_proxy/content/browser
172       'target_name': 'data_reduction_proxy_content_browser',
173       'type': 'static_library',
174       'dependencies': [
175         '../content/content.gyp:content_common',
176         '../ipc/ipc.gyp:ipc',
177         'data_reduction_proxy_content_common',
178       ],
179       'include_dirs': [
180         '..',
181       ],
182       'sources': [
183         'data_reduction_proxy/content/browser/data_reduction_proxy_message_filter.cc',
184         'data_reduction_proxy/content/browser/data_reduction_proxy_message_filter.h',
185       ],
186     },
187     {
188       # GN version: //components/data_reduction_proxy/core/browser
189       'target_name': 'data_reduction_proxy_core_browser',
190       'type': 'static_library',
191       'conditions': [
192         ['OS != "ios"', {
193           'defines': [
194             'USE_GOOGLE_API_KEYS_FOR_AUTH_KEY' 
195           ]
196         }],
197       ],
198       'defines': [
199         'USE_GOOGLE_API_KEYS'
200       ],
201       'dependencies': [
202         '<@(data_reduction_proxy_core_browser_deps)',
203         '../google_apis/google_apis.gyp:google_apis',
204         '../net/net.gyp:net',
205         '../url/url.gyp:url_lib',
206         'data_reduction_proxy_core_common',
207         'data_reduction_proxy_proto',
208         '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
209       ],
210       'export_dependent_settings': [
211         'data_reduction_proxy_proto',
212       ],
213       'include_dirs': [
214         '..',
215       ],
216       'sources': [
217         '<@(data_reduction_proxy_core_browser_sources)',
218         'data_reduction_proxy/core/browser/data_store_impl.cc',
219         'data_reduction_proxy/core/browser/data_store_impl.h',
220       ],
221     },
222     {
223       # GN version: //components/data_reduction_proxy/core/common
224       'target_name': 'data_reduction_proxy_core_common',
225       'type': 'static_library',
226       'dependencies': [
227         '../base/base.gyp:base',
228         '../url/url.gyp:url_lib',
229         'data_reduction_proxy_proto',
230       ],
231       'include_dirs': [
232         '..',
233       ],
234       'sources': [
235         '<@(data_reduction_proxy_core_common_sources)'
236       ],
237     },
238     {
239       # GN version: //components/data_reduction_proxy/core/browser:test_support
240       'target_name': 'data_reduction_proxy_test_support',
241       'type': 'static_library',
242       'dependencies' : [
243         '../base/base.gyp:base',
244         '../net/net.gyp:net',
245         '../net/net.gyp:net_test_support',
246         '../testing/gmock.gyp:gmock',
247         '../testing/gtest.gyp:gtest',
248         'data_reduction_proxy_content',
249         'data_reduction_proxy_core_browser',
250         'data_reduction_proxy_core_common',
251         'data_reduction_proxy_proto',
252       ],
253       'include_dirs': [
254         '..',
255       ],
256       'sources': [
257         # Note: sources list duplicated in GN build.
258         'data_reduction_proxy/core/browser/data_reduction_proxy_config_test_utils.cc',
259         'data_reduction_proxy/core/browser/data_reduction_proxy_config_test_utils.h',
260         'data_reduction_proxy/core/browser/data_reduction_proxy_configurator_test_utils.cc',
261         'data_reduction_proxy/core/browser/data_reduction_proxy_configurator_test_utils.h',
262         'data_reduction_proxy/core/browser/data_reduction_proxy_settings_test_utils.cc',
263         'data_reduction_proxy/core/browser/data_reduction_proxy_settings_test_utils.h',
264         'data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.cc',
265         'data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.h',
266         'data_reduction_proxy/core/common/data_reduction_proxy_event_storage_delegate_test_utils.cc',
267         'data_reduction_proxy/core/common/data_reduction_proxy_event_storage_delegate_test_utils.h',
268         'data_reduction_proxy/core/common/data_reduction_proxy_headers_test_utils.cc',
269         'data_reduction_proxy/core/common/data_reduction_proxy_headers_test_utils.h',
270         'data_reduction_proxy/core/common/data_reduction_proxy_params_test_utils.cc',
271         'data_reduction_proxy/core/common/data_reduction_proxy_params_test_utils.h',
272       ],
273       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
274       'msvs_disabled_warnings': [4267, ],
275     },
276     {
277       # GN version: //components/data_reduction_proxy/proto
278       'target_name': 'data_reduction_proxy_proto',
279       'type': 'static_library',
280       'dependencies': [
281       ],
282       'include_dirs': [
283       ],
284       'sources': [
285         # Note: sources list duplicated in GN build.
286         'data_reduction_proxy/proto/client_config.proto',
287         'data_reduction_proxy/proto/data_store.proto',
288       ],
289       'variables': {
290         'proto_in_dir': 'data_reduction_proxy/proto',
291         'proto_out_dir': 'components/data_reduction_proxy/proto',
292       },
293       'includes': [ '../build/protoc.gypi' ],
294     },
295     {
296       'target_name': 'data_reduction_proxy_version_header',
297       'type': 'none',
298       'direct_dependent_settings': {
299         'include_dirs': [
300           '<(SHARED_INTERMEDIATE_DIR)',
301         ],
302       },
303       'actions': [
304         {
305           'action_name': 'version_header',
306           'message': 'Generating version header file: <@(_outputs)',
307           'inputs': [
308             '<(version_path)',
309             'data_reduction_proxy/core/common/version.h.in',
310           ],
311           'outputs': [
312             '<(SHARED_INTERMEDIATE_DIR)/components/data_reduction_proxy/core/common/version.h',
313           ],
314           'action': [
315             'python',
316             '<(version_py_path)',
317             '-e', 'VERSION_FULL="<(version_full)"',
318             'data_reduction_proxy/core/common/version.h.in',
319             '<@(_outputs)',
320           ],
321           'includes': [
322             '../build/util/version.gypi',
323           ],
324         },
325       ],
326     },
327   ],