1# Copyright 2013 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
6  'variables': {
7    'chromium_code': 1,
8  },
9  'targets': [
10    {
11      # GN version: //extensions/common
12      'target_name': 'extensions_common',
13      'type': 'static_library',
14      'dependencies': [
15        # TODO(benwells): figure out what to do with the api target and
16        # api resources compiled into the chrome resource bundle.
17        # http://crbug.com/162530
18        '../chrome/chrome_resources.gyp:chrome_resources',
19        '../components/components.gyp:crx_file',
20        '../components/components.gyp:url_matcher',
21        '../content/content.gyp:content_common',
22        '../crypto/crypto.gyp:crypto',
23        '../ipc/ipc.gyp:ipc',
24        '../net/net.gyp:net',
25        '../third_party/re2/re2.gyp:re2',
26        '../ui/base/ui_base.gyp:ui_base',
27        '../ui/gfx/gfx.gyp:gfx_geometry',
28        '../ui/gfx/ipc/gfx_ipc.gyp:gfx_ipc',
29        '../url/url.gyp:url_lib',
30        '../third_party/libxml/libxml.gyp:libxml',
31        'extensions_strings.gyp:extensions_strings',
32      ],
33      'include_dirs': [
34        '..',
35        '<(INTERMEDIATE_DIR)',
36      ],
37      'sources': [
38        # Note: sources list duplicated in GN build.
39        'common/api/bluetooth/bluetooth_manifest_data.cc',
40        'common/api/bluetooth/bluetooth_manifest_data.h',
41        'common/api/bluetooth/bluetooth_manifest_handler.cc',
42        'common/api/bluetooth/bluetooth_manifest_handler.h',
43        'common/api/bluetooth/bluetooth_manifest_permission.cc',
44        'common/api/bluetooth/bluetooth_manifest_permission.h',
45        'common/api/messaging/message.h',
46        'common/api/sockets/sockets_manifest_data.cc',
47        'common/api/sockets/sockets_manifest_data.h',
48        'common/api/sockets/sockets_manifest_handler.cc',
49        'common/api/sockets/sockets_manifest_handler.h',
50        'common/api/sockets/sockets_manifest_permission.cc',
51        'common/api/sockets/sockets_manifest_permission.h',
52        'common/common_manifest_handlers.cc',
53        'common/common_manifest_handlers.h',
54        'common/constants.cc',
55        'common/constants.h',
56        'common/csp_validator.cc',
57        'common/csp_validator.h',
58        'common/dom_action_types.h',
59        'common/draggable_region.cc',
60        'common/draggable_region.h',
61        'common/error_utils.cc',
62        'common/error_utils.h',
63        'common/event_filter.cc',
64        'common/event_filter.h',
65        'common/event_filtering_info.cc',
66        'common/event_filtering_info.h',
67        'common/event_matcher.cc',
68        'common/event_matcher.h',
69        'common/extension.cc',
70        'common/extension.h',
71        'common/extension_api.cc',
72        'common/extension_api.h',
73        'common/extension_api_stub.cc',
74        'common/extension_icon_set.cc',
75        'common/extension_icon_set.h',
76        'common/extension_l10n_util.cc',
77        'common/extension_l10n_util.h',
78        'common/extension_message_generator.cc',
79        'common/extension_message_generator.h',
80        'common/extension_messages.cc',
81        'common/extension_messages.h',
82        'common/extension_paths.cc',
83        'common/extension_paths.h',
84        'common/extension_resource.cc',
85        'common/extension_resource.h',
86        'common/extension_set.cc',
87        'common/extension_set.h',
88        'common/extension_urls.cc',
89        'common/extension_urls.h',
90        'common/extension_utility_messages.h',
91        'common/extensions_client.cc',
92        'common/extensions_client.h',
93        'common/feature_switch.cc',
94        'common/feature_switch.h',
95        'common/features/api_feature.cc',
96        'common/features/api_feature.h',
97        'common/features/base_feature_provider.cc',
98        'common/features/base_feature_provider.h',
99        'common/features/complex_feature.cc',
100        'common/features/complex_feature.h',
101        'common/features/feature.cc',
102        'common/features/feature.h',
103        'common/features/feature_provider.cc',
104        'common/features/feature_provider.h',
105        'common/features/json_feature_provider_source.cc',
106        'common/features/json_feature_provider_source.h',
107        'common/features/manifest_feature.cc',
108        'common/features/manifest_feature.h',
109        'common/features/permission_feature.cc',
110        'common/features/permission_feature.h',
111        'common/features/simple_feature.cc',
112        'common/features/simple_feature.h',
113        'common/features/simple_feature_filter.cc',
114        'common/features/simple_feature_filter.h',
115        'common/file_util.cc',
116        'common/file_util.h',
117        'common/guest_view/guest_view_constants.cc',
118        'common/guest_view/guest_view_constants.h',
119        'common/install_warning.cc',
120        'common/install_warning.h',
121        'common/manifest.cc',
122        'common/manifest.h',
123        'common/manifest_constants.cc',
124        'common/manifest_constants.h',
125        'common/manifest_handler.cc',
126        'common/manifest_handler.h',
127        'common/manifest_handler_helpers.cc',
128        'common/manifest_handler_helpers.h',
129        'common/manifest_handlers/background_info.cc',
130        'common/manifest_handlers/background_info.h',
131        'common/manifest_handlers/csp_info.cc',
132        'common/manifest_handlers/csp_info.h',
133        'common/manifest_handlers/externally_connectable.cc',
134        'common/manifest_handlers/externally_connectable.h',
135        'common/manifest_handlers/file_handler_info.cc',
136        'common/manifest_handlers/file_handler_info.h',
137        'common/manifest_handlers/icons_handler.cc',
138        'common/manifest_handlers/icons_handler.h',
139        'common/manifest_handlers/incognito_info.cc',
140        'common/manifest_handlers/incognito_info.h',
141        'common/manifest_handlers/kiosk_mode_info.cc',
142        'common/manifest_handlers/kiosk_mode_info.h',
143        'common/manifest_handlers/launcher_page_info.cc',
144        'common/manifest_handlers/launcher_page_info.h',
145        'common/manifest_handlers/offline_enabled_info.cc',
146        'common/manifest_handlers/offline_enabled_info.h',
147        'common/manifest_handlers/options_page_info.cc',
148        'common/manifest_handlers/options_page_info.h',
149        'common/manifest_handlers/permissions_parser.cc',
150        'common/manifest_handlers/permissions_parser.h',
151        'common/manifest_handlers/requirements_info.cc',
152        'common/manifest_handlers/requirements_info.h',
153        'common/manifest_handlers/sandboxed_page_info.cc',
154        'common/manifest_handlers/sandboxed_page_info.h',
155        'common/manifest_handlers/shared_module_info.cc',
156        'common/manifest_handlers/shared_module_info.h',
157        'common/manifest_handlers/web_accessible_resources_info.cc',
158        'common/manifest_handlers/web_accessible_resources_info.h',
159        'common/manifest_handlers/webview_info.cc',
160        'common/manifest_handlers/webview_info.h',
161        'common/message_bundle.cc',
162        'common/message_bundle.h',
163        'common/one_shot_event.cc',
164        'common/one_shot_event.h',
165        'common/permissions/api_permission.cc',
166        'common/permissions/api_permission.h',
167        'common/permissions/api_permission_set.cc',
168        'common/permissions/api_permission_set.h',
169        'common/permissions/base_set_operators.h',
170        'common/permissions/extensions_api_permissions.cc',
171        'common/permissions/extensions_api_permissions.h',
172        'common/permissions/manifest_permission.cc',
173        'common/permissions/manifest_permission.h',
174        'common/permissions/manifest_permission_set.cc',
175        'common/permissions/manifest_permission_set.h',
176        'common/permissions/media_galleries_permission.cc',
177        'common/permissions/media_galleries_permission.h',
178        'common/permissions/media_galleries_permission_data.cc',
179        'common/permissions/media_galleries_permission_data.h',
180        'common/permissions/permission_message.cc',
181        'common/permissions/permission_message.h',
182        'common/permissions/permission_message_provider.cc',
183        'common/permissions/permission_message_provider.h',
184        'common/permissions/permission_message_util.cc',
185        'common/permissions/permission_message_util.h',
186        'common/permissions/permission_set.cc',
187        'common/permissions/permission_set.h',
188        'common/permissions/permissions_data.cc',
189        'common/permissions/permissions_data.h',
190        'common/permissions/permissions_info.cc',
191        'common/permissions/permissions_info.h',
192        'common/permissions/permissions_provider.h',
193        'common/permissions/set_disjunction_permission.h',
194        'common/permissions/settings_override_permission.cc',
195        'common/permissions/settings_override_permission.h',
196        'common/permissions/socket_permission.cc',
197        'common/permissions/socket_permission.h',
198        'common/permissions/socket_permission_data.cc',
199        'common/permissions/socket_permission_data.h',
200        'common/permissions/socket_permission_entry.cc',
201        'common/permissions/socket_permission_entry.h',
202        'common/permissions/usb_device_permission.cc',
203        'common/permissions/usb_device_permission.h',
204        'common/permissions/usb_device_permission_data.cc',
205        'common/permissions/usb_device_permission_data.h',
206        'common/stack_frame.cc',
207        'common/stack_frame.h',
208        'common/switches.cc',
209        'common/switches.h',
210        'common/update_manifest.cc',
211        'common/update_manifest.h',
212        'common/url_pattern.cc',
213        'common/url_pattern.h',
214        'common/url_pattern_set.cc',
215        'common/url_pattern_set.h',
216        'common/user_script.cc',
217        'common/user_script.h',
218        'common/value_counter.cc',
219        'common/value_counter.h',
220        'common/view_type.cc',
221        'common/view_type.h',
222      ],
223      # Disable c4267 warnings until we fix size_t to int truncations.
224      'msvs_disabled_warnings': [ 4267, ],
225      'conditions': [
226        ['enable_extensions==1', {
227          'dependencies': [
228            'common/api/api.gyp:extensions_api',
229            '../device/bluetooth/bluetooth.gyp:device_bluetooth',
230            # For Mojo generated headers for generated_api.cc.
231            '../device/serial/serial.gyp:device_serial_mojo',
232            '../device/usb/usb.gyp:device_usb',
233          ],
234          'sources!': [
235            'common/extension_api_stub.cc',
236          ],
237        }, {  # enable_extensions == 0
238          'sources!': [
239            'common/api/bluetooth/bluetooth_manifest_data.cc',
240            'common/api/bluetooth/bluetooth_manifest_data.h',
241            'common/api/bluetooth/bluetooth_manifest_handler.cc',
242            'common/api/bluetooth/bluetooth_manifest_handler.h',
243            'common/api/bluetooth/bluetooth_manifest_permission.cc',
244            'common/api/bluetooth/bluetooth_manifest_permission.h',
245            'common/api/messaging/message.h',
246            'common/api/sockets/sockets_manifest_data.cc',
247            'common/api/sockets/sockets_manifest_data.h',
248            'common/api/sockets/sockets_manifest_handler.cc',
249            'common/api/sockets/sockets_manifest_handler.h',
250            'common/api/sockets/sockets_manifest_permission.cc',
251            'common/api/sockets/sockets_manifest_permission.h',
252            'common/extension_api.cc',
253            'common/manifest_handlers/externally_connectable.cc',
254            'common/manifest_handlers/externally_connectable.h',
255            'common/manifest_handlers/options_page_info.cc',
256            'common/manifest_handlers/options_page_info.h',
257          ],
258        }],
259        ['disable_nacl==0', {
260          # NaClModulesHandler does not use any code in NaCl, so no dependency
261          # on nacl_common.
262          'sources': [
263            'common/manifest_handlers/nacl_modules_handler.cc',
264            'common/manifest_handlers/nacl_modules_handler.h',
265          ],
266        }],
267      ],
268    },
269    {
270      # GN version: //extensions/browser
271      'target_name': 'extensions_browser',
272      'type': 'static_library',
273      'dependencies': [
274        '../base/base.gyp:base',
275        '../base/base.gyp:base_prefs',
276        '../components/components.gyp:keyed_service_content',
277        '../components/components.gyp:keyed_service_core',
278        '../components/components.gyp:pref_registry',
279        '../components/components.gyp:sessions',
280        '../components/components.gyp:storage_monitor',
281        '../components/components.gyp:web_cache_browser',
282        '../components/components.gyp:web_modal',
283        '../content/content.gyp:content_browser',
284        '../device/bluetooth/bluetooth.gyp:device_bluetooth',
285        '../device/serial/serial.gyp:device_serial',
286        '../skia/skia.gyp:skia',
287        '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
288        '../third_party/re2/re2.gyp:re2',
289        'browser/api/api_registration.gyp:extensions_api_registration',
290        'common/api/api.gyp:cast_channel_proto',
291        'common/api/api.gyp:extensions_api',
292        'extensions_common',
293        'extensions_strings.gyp:extensions_strings',
294      ],
295      'include_dirs': [
296        '..',
297        '<(INTERMEDIATE_DIR)',
298        # Needed to access generated API headers.
299        '<(SHARED_INTERMEDIATE_DIR)',
300        # Needed for grit.
301        '<(SHARED_INTERMEDIATE_DIR)/chrome',
302      ],
303      'sources': [
304        # Note: sources list duplicated in GN build.
305        # NOTE: When moving an API out of Chrome be sure to verify that the
306        # Android build still compiles. See conditions below.
307        'browser/api/activity_log/web_request_constants.cc',
308        'browser/api/activity_log/web_request_constants.h',
309        'browser/api/api_resource.cc',
310        'browser/api/api_resource.h',
311        'browser/api/api_resource_manager.h',
312        'browser/api/app_current_window_internal/app_current_window_internal_api.cc',
313        'browser/api/app_current_window_internal/app_current_window_internal_api.h',
314        'browser/api/app_runtime/app_runtime_api.cc',
315        'browser/api/app_runtime/app_runtime_api.h',
316        'browser/api/app_view/app_view_internal_api.cc',
317        'browser/api/app_view/app_view_internal_api.h',
318        'browser/api/app_window/app_window_api.cc',
319        'browser/api/app_window/app_window_api.h',
320        'browser/api/guest_view/guest_view_internal_api.cc',
321        'browser/api/guest_view/guest_view_internal_api.h',
322        'browser/api/async_api_function.cc',
323        'browser/api/async_api_function.h',
324        'browser/api/bluetooth/bluetooth_api.cc',
325        'browser/api/bluetooth/bluetooth_api.h',
326        'browser/api/bluetooth/bluetooth_api_pairing_delegate.cc',
327        'browser/api/bluetooth/bluetooth_api_pairing_delegate.h',
328        'browser/api/bluetooth/bluetooth_api_utils.cc',
329        'browser/api/bluetooth/bluetooth_api_utils.h',
330        'browser/api/bluetooth/bluetooth_event_router.cc',
331        'browser/api/bluetooth/bluetooth_event_router.h',
332        'browser/api/bluetooth/bluetooth_extension_function.cc',
333        'browser/api/bluetooth/bluetooth_extension_function.h',
334        'browser/api/bluetooth/bluetooth_private_api.cc',
335        'browser/api/bluetooth/bluetooth_private_api.h',
336        'browser/api/bluetooth_low_energy/bluetooth_low_energy_api.cc',
337        'browser/api/bluetooth_low_energy/bluetooth_low_energy_api.h',
338        'browser/api/bluetooth_low_energy/bluetooth_low_energy_connection.cc',
339        'browser/api/bluetooth_low_energy/bluetooth_low_energy_connection.h',
340        'browser/api/bluetooth_low_energy/bluetooth_low_energy_event_router.cc',
341        'browser/api/bluetooth_low_energy/bluetooth_low_energy_event_router.h',
342        'browser/api/bluetooth_low_energy/bluetooth_low_energy_notify_session.cc',
343        'browser/api/bluetooth_low_energy/bluetooth_low_energy_notify_session.h',
344        'browser/api/bluetooth_low_energy/utils.cc',
345        'browser/api/bluetooth_low_energy/utils.h',
346        'browser/api/bluetooth_socket/bluetooth_api_socket.cc',
347        'browser/api/bluetooth_socket/bluetooth_api_socket.h',
348        'browser/api/bluetooth_socket/bluetooth_socket_api.cc',
349        'browser/api/bluetooth_socket/bluetooth_socket_api.h',
350        'browser/api/bluetooth_socket/bluetooth_socket_event_dispatcher.cc',
351        'browser/api/bluetooth_socket/bluetooth_socket_event_dispatcher.h',
352        'browser/api/capture_web_contents_function.cc',
353        'browser/api/capture_web_contents_function.h',
354        'browser/api/cast_channel/cast_auth_util.cc',
355        'browser/api/cast_channel/cast_auth_util.h',
356        'browser/api/cast_channel/cast_channel_api.cc',
357        'browser/api/cast_channel/cast_channel_api.h',
358        'browser/api/cast_channel/cast_framer.cc',
359        'browser/api/cast_channel/cast_framer.h',
360        'browser/api/cast_channel/cast_message_util.cc',
361        'browser/api/cast_channel/cast_message_util.h',
362        'browser/api/cast_channel/cast_socket.cc',
363        'browser/api/cast_channel/cast_socket.h',
364        'browser/api/cast_channel/cast_framer.cc',
365        'browser/api/cast_channel/cast_framer.h',
366        'browser/api/cast_channel/cast_transport.h',
367        'browser/api/cast_channel/cast_transport.cc',
368        'browser/api/cast_channel/logger.cc',
369        'browser/api/cast_channel/logger.h',
370        'browser/api/cast_channel/logger_util.cc',
371        'browser/api/cast_channel/logger_util.h',
372        'browser/api/declarative/deduping_factory.h',
373        'browser/api/declarative/declarative_api.cc',
374        'browser/api/declarative/declarative_api.h',
375        'browser/api/declarative/declarative_rule.h',
376        'browser/api/declarative/rules_cache_delegate.cc',
377        'browser/api/declarative/rules_cache_delegate.h',
378        'browser/api/declarative/rules_registry.cc',
379        'browser/api/declarative/rules_registry.h',
380        'browser/api/declarative/rules_registry_service.cc',
381        'browser/api/declarative/rules_registry_service.h',
382        'browser/api/declarative/test_rules_registry.cc',
383        'browser/api/declarative/test_rules_registry.h',
384        'browser/api/declarative_content/content_rules_registry.h',
385        'browser/api/declarative_webrequest/request_stage.cc',
386        'browser/api/declarative_webrequest/request_stage.h',
387        'browser/api/declarative_webrequest/webrequest_action.cc',
388        'browser/api/declarative_webrequest/webrequest_action.h',
389        'browser/api/declarative_webrequest/webrequest_condition.cc',
390        'browser/api/declarative_webrequest/webrequest_condition.h',
391        'browser/api/declarative_webrequest/webrequest_condition_attribute.cc',
392        'browser/api/declarative_webrequest/webrequest_condition_attribute.h',
393        'browser/api/declarative_webrequest/webrequest_constants.cc',
394        'browser/api/declarative_webrequest/webrequest_constants.h',
395        'browser/api/declarative_webrequest/webrequest_rules_registry.cc',
396        'browser/api/declarative_webrequest/webrequest_rules_registry.h',
397        'browser/api/dns/dns_api.cc',
398        'browser/api/dns/dns_api.h',
399        'browser/api/dns/host_resolver_wrapper.cc',
400        'browser/api/dns/host_resolver_wrapper.h',
401        'browser/api/execute_code_function.cc',
402        'browser/api/execute_code_function.h',
403        'browser/api/extensions_api_client.cc',
404        'browser/api/extensions_api_client.h',
405        'browser/api/hid/hid_api.cc',
406        'browser/api/hid/hid_api.h',
407        'browser/api/hid/hid_connection_resource.cc',
408        'browser/api/hid/hid_connection_resource.h',
409        'browser/api/hid/hid_device_manager.cc',
410        'browser/api/hid/hid_device_manager.h',
411        'browser/api/power/power_api.cc',
412        'browser/api/power/power_api.h',
413        'browser/api/power/power_api_manager.cc',
414        'browser/api/power/power_api_manager.h',
415        'browser/api/runtime/runtime_api.cc',
416        'browser/api/runtime/runtime_api.h',
417        'browser/api/runtime/runtime_api_delegate.cc',
418        'browser/api/runtime/runtime_api_delegate.h',
419        'browser/api/serial/serial_api.cc',
420        'browser/api/serial/serial_api.h',
421        'browser/api/serial/serial_connection.cc',
422        'browser/api/serial/serial_connection.h',
423        'browser/api/serial/serial_event_dispatcher.cc',
424        'browser/api/serial/serial_event_dispatcher.h',
425        'browser/api/socket/socket.cc',
426        'browser/api/socket/socket.h',
427        'browser/api/socket/socket_api.cc',
428        'browser/api/socket/socket_api.h',
429        'browser/api/socket/tcp_socket.cc',
430        'browser/api/socket/tcp_socket.h',
431        'browser/api/socket/tls_socket.cc',
432        'browser/api/socket/tls_socket.h',
433        'browser/api/socket/udp_socket.cc',
434        'browser/api/socket/udp_socket.h',
435        'browser/api/sockets_tcp/sockets_tcp_api.cc',
436        'browser/api/sockets_tcp/sockets_tcp_api.h',
437        'browser/api/sockets_tcp/tcp_socket_event_dispatcher.cc',
438        'browser/api/sockets_tcp/tcp_socket_event_dispatcher.h',
439        'browser/api/sockets_tcp_server/sockets_tcp_server_api.cc',
440        'browser/api/sockets_tcp_server/sockets_tcp_server_api.h',
441        'browser/api/sockets_tcp_server/tcp_server_socket_event_dispatcher.cc',
442        'browser/api/sockets_tcp_server/tcp_server_socket_event_dispatcher.h',
443        'browser/api/sockets_udp/sockets_udp_api.cc',
444        'browser/api/sockets_udp/sockets_udp_api.h',
445        'browser/api/sockets_udp/udp_socket_event_dispatcher.cc',
446        'browser/api/sockets_udp/udp_socket_event_dispatcher.h',
447        'browser/api/storage/leveldb_settings_storage_factory.cc',
448        'browser/api/storage/leveldb_settings_storage_factory.h',
449        'browser/api/storage/local_value_store_cache.cc',
450        'browser/api/storage/local_value_store_cache.h',
451        'browser/api/storage/settings_namespace.cc',
452        'browser/api/storage/settings_namespace.h',
453        'browser/api/storage/settings_observer.h',
454        'browser/api/storage/settings_storage_factory.h',
455        'browser/api/storage/settings_storage_quota_enforcer.cc',
456        'browser/api/storage/settings_storage_quota_enforcer.h',
457        'browser/api/storage/storage_api.cc',
458        'browser/api/storage/storage_api.h',
459        'browser/api/storage/storage_frontend.cc',
460        'browser/api/storage/storage_frontend.h',
461        'browser/api/storage/value_store_cache.cc',
462        'browser/api/storage/value_store_cache.h',
463        'browser/api/storage/weak_unlimited_settings_storage.cc',
464        'browser/api/storage/weak_unlimited_settings_storage.h',
465        'browser/api/system_cpu/cpu_info_provider.cc',
466        'browser/api/system_cpu/cpu_info_provider.h',
467        'browser/api/system_cpu/cpu_info_provider_linux.cc',
468        'browser/api/system_cpu/cpu_info_provider_mac.cc',
469        'browser/api/system_cpu/cpu_info_provider_win.cc',
470        'browser/api/system_cpu/system_cpu_api.cc',
471        'browser/api/system_cpu/system_cpu_api.h',
472        'browser/api/system_display/display_info_provider.cc',
473        'browser/api/system_display/display_info_provider.h',
474        'browser/api/system_display/system_display_api.cc',
475        'browser/api/system_display/system_display_api.h',
476        'browser/api/system_info/system_info_api.cc',
477        'browser/api/system_info/system_info_api.h',
478        'browser/api/system_info/system_info_provider.cc',
479        'browser/api/system_info/system_info_provider.h',
480        'browser/api/system_memory/memory_info_provider.cc',
481        'browser/api/system_memory/memory_info_provider.h',
482        'browser/api/system_memory/system_memory_api.cc',
483        'browser/api/system_memory/system_memory_api.h',
484        'browser/api/system_network/system_network_api.cc',
485        'browser/api/system_network/system_network_api.h',
486        'browser/api/system_storage/storage_info_provider.cc',
487        'browser/api/system_storage/storage_info_provider.h',
488        'browser/api/system_storage/system_storage_api.cc',
489        'browser/api/system_storage/system_storage_api.h',
490        'browser/api/test/test_api.cc',
491        'browser/api/test/test_api.h',
492        'browser/api/usb/usb_api.cc',
493        'browser/api/usb/usb_api.h',
494        'browser/api/usb/usb_device_resource.cc',
495        'browser/api/usb/usb_device_resource.h',
496        'browser/api/usb_private/usb_private_api.cc',
497        'browser/api/usb_private/usb_private_api.h',
498        'browser/api/web_request/form_data_parser.cc',
499        'browser/api/web_request/form_data_parser.h',
500        'browser/api/web_request/upload_data_presenter.cc',
501        'browser/api/web_request/upload_data_presenter.h',
502        'browser/api/web_request/web_request_api.cc',
503        'browser/api/web_request/web_request_api.h',
504        'browser/api/web_request/web_request_api_constants.cc',
505        'browser/api/web_request/web_request_api_constants.h',
506        'browser/api/web_request/web_request_api_helpers.cc',
507        'browser/api/web_request/web_request_api_helpers.h',
508        'browser/api/web_request/web_request_event_router_delegate.cc',
509        'browser/api/web_request/web_request_event_router_delegate.h',
510        'browser/api/web_request/web_request_permissions.cc',
511        'browser/api/web_request/web_request_permissions.h',
512        'browser/api/web_request/web_request_time_tracker.cc',
513        'browser/api/web_request/web_request_time_tracker.h',
514        'browser/api/web_view/web_view_internal_api.cc',
515        'browser/api/web_view/web_view_internal_api.h',
516        'browser/api_activity_monitor.h',
517        'browser/app_sorting.h',
518        'browser/app_window/app_delegate.h',
519        'browser/app_window/app_web_contents_helper.cc',
520        'browser/app_window/app_web_contents_helper.h',
521        'browser/app_window/app_window.cc',
522        'browser/app_window/app_window.h',
523        'browser/app_window/app_window_contents.cc',
524        'browser/app_window/app_window_contents.h',
525        'browser/app_window/app_window_geometry_cache.cc',
526        'browser/app_window/app_window_geometry_cache.h',
527        'browser/app_window/app_window_registry.cc',
528        'browser/app_window/app_window_registry.h',
529        'browser/app_window/app_window_client.cc',
530        'browser/app_window/app_window_client.h',
531        'browser/app_window/native_app_window.h',
532        'browser/app_window/size_constraints.cc',
533        'browser/app_window/size_constraints.h',
534        'browser/blacklist_state.h',
535        'browser/blob_holder.cc',
536        'browser/blob_holder.h',
537        'browser/browser_context_keyed_api_factory.h',
538        'browser/browser_context_keyed_service_factories.cc',
539        'browser/browser_context_keyed_service_factories.h',
540        'browser/component_extension_resource_manager.h',
541        'browser/computed_hashes.cc',
542        'browser/computed_hashes.h',
543        'browser/content_hash_fetcher.cc',
544        'browser/content_hash_fetcher.h',
545        'browser/content_hash_reader.cc',
546        'browser/content_hash_reader.h',
547        'browser/content_hash_tree.cc',
548        'browser/content_hash_tree.h',
549        'browser/content_verifier.cc',
550        'browser/content_verifier.h',
551        'browser/content_verifier_delegate.h',
552        'browser/content_verifier_io_data.cc',
553        'browser/content_verifier_io_data.h',
554        'browser/content_verify_job.cc',
555        'browser/content_verify_job.h',
556        'browser/error_map.cc',
557        'browser/error_map.h',
558        'browser/event_listener_map.cc',
559        'browser/event_listener_map.h',
560        'browser/event_router.cc',
561        'browser/event_router.h',
562        'browser/extension_host.cc',
563        'browser/extension_host.h',
564        'browser/extension_host_delegate.h',
565        'browser/extension_error.cc',
566        'browser/extension_error.h',
567        'browser/extension_function.cc',
568        'browser/extension_function.h',
569        'browser/extension_function_dispatcher.cc',
570        'browser/extension_function_dispatcher.h',
571        'browser/extension_function_registry.cc',
572        'browser/extension_function_registry.h',
573        'browser/extension_function_util.cc',
574        'browser/extension_function_util.h',
575        'browser/extension_icon_image.cc',
576        'browser/extension_icon_image.h',
577        'browser/extension_message_filter.cc',
578        'browser/extension_message_filter.h',
579        'browser/extension_pref_store.cc',
580        'browser/extension_pref_store.h',
581        'browser/extension_pref_value_map.cc',
582        'browser/extension_pref_value_map_factory.cc',
583        'browser/extension_pref_value_map_factory.h',
584        'browser/extension_pref_value_map.h',
585        'browser/extension_prefs.cc',
586        'browser/extension_prefs.h',
587        'browser/extension_prefs_factory.cc',
588        'browser/extension_prefs_factory.h',
589        'browser/extension_prefs_observer.h',
590        'browser/extension_prefs_scope.h',
591        'browser/extension_protocols.cc',
592        'browser/extension_protocols.h',
593        'browser/extension_registry.cc',
594        'browser/extension_registry.h',
595        'browser/extension_registry_factory.cc',
596        'browser/extension_registry_factory.h',
597        'browser/extension_registry_observer.h',
598        'browser/extension_scoped_prefs.h',
599        'browser/extension_system.cc',
600        'browser/extension_system.h',
601        'browser/extension_system_provider.cc',
602        'browser/extension_system_provider.h',
603        'browser/extension_util.cc',
604        'browser/extension_util.h',
605        'browser/extension_web_contents_observer.cc',
606        'browser/extension_web_contents_observer.h',
607        'browser/extensions_browser_client.cc',
608        'browser/extensions_browser_client.h',
609        'browser/external_provider_interface.h',
610        'browser/granted_file_entry.cc',
611        'browser/granted_file_entry.h',
612        'browser/guest_view/app_view/app_view_constants.cc',
613        'browser/guest_view/app_view/app_view_constants.h',
614        'browser/guest_view/app_view/app_view_guest.cc',
615        'browser/guest_view/app_view/app_view_guest.h',
616        'browser/guest_view/app_view/app_view_guest_delegate.cc',
617        'browser/guest_view/app_view/app_view_guest_delegate.h',
618        'browser/guest_view/extension_options/extension_options_constants.cc',
619        'browser/guest_view/extension_options/extension_options_constants.h',
620        'browser/guest_view/extension_options/extension_options_guest.cc',
621        'browser/guest_view/extension_options/extension_options_guest.h',
622        'browser/guest_view/extension_options/extension_options_guest_delegate.cc',
623        'browser/guest_view/extension_options/extension_options_guest_delegate.h',
624        'browser/guest_view/guest_view_base.cc',
625        'browser/guest_view/guest_view_base.h',
626        'browser/guest_view/guest_view_manager_factory.h',
627        'browser/guest_view/guest_view_manager.cc',
628        'browser/guest_view/guest_view_manager.h',
629        'browser/guest_view/guest_view.h',
630        'browser/guest_view/mime_handler_view/mime_handler_view_constants.cc',
631        'browser/guest_view/mime_handler_view/mime_handler_view_constants.h',
632        'browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h',
633        'browser/guest_view/mime_handler_view/mime_handler_view_guest.cc',
634        'browser/guest_view/mime_handler_view/mime_handler_view_guest.h',
635        'browser/guest_view/web_view/javascript_dialog_helper.cc',
636        'browser/guest_view/web_view/javascript_dialog_helper.h',
637        'browser/guest_view/web_view/web_view_constants.cc',
638        'browser/guest_view/web_view/web_view_constants.h',
639        'browser/guest_view/web_view/web_view_find_helper.cc',
640        'browser/guest_view/web_view/web_view_find_helper.h',
641        'browser/guest_view/web_view/web_view_guest.cc',
642        'browser/guest_view/web_view/web_view_guest.h',
643        'browser/guest_view/web_view/web_view_guest_delegate.h',
644        'browser/guest_view/web_view/web_view_permission_types.h',
645        'browser/guest_view/web_view/web_view_permission_helper.cc',
646        'browser/guest_view/web_view/web_view_permission_helper.h',
647        'browser/guest_view/web_view/web_view_permission_helper_delegate.cc',
648        'browser/guest_view/web_view/web_view_permission_helper_delegate.h',
649        'browser/guest_view/web_view/web_view_renderer_state.cc',
650        'browser/guest_view/web_view/web_view_renderer_state.h',
651        'browser/image_loader.cc',
652        'browser/image_loader.h',
653        'browser/image_loader_factory.cc',
654        'browser/image_loader_factory.h',
655        'browser/image_util.cc',
656        'browser/image_util.h',
657        'browser/info_map.cc',
658        'browser/info_map.h',
659        'browser/install_flag.h',
660        'browser/file_highlighter.cc',
661        'browser/file_highlighter.h',
662        'browser/file_reader.cc',
663        'browser/file_reader.h',
664        'browser/lazy_background_task_queue.cc',
665        'browser/lazy_background_task_queue.h',
666        'browser/management_policy.cc',
667        'browser/management_policy.h',
668        'browser/notification_types.h',
669        'browser/null_app_sorting.cc',
670        'browser/null_app_sorting.h',
671        'browser/pref_names.cc',
672        'browser/pref_names.h',
673        'browser/process_manager.cc',
674        'browser/process_manager.h',
675        'browser/process_manager_delegate.h',
676        'browser/process_manager_observer.h',
677        'browser/process_map.cc',
678        'browser/process_map.h',
679        'browser/process_map_factory.cc',
680        'browser/process_map_factory.h',
681        'browser/quota_service.cc',
682        'browser/quota_service.h',
683        'browser/renderer_startup_helper.cc',
684        'browser/renderer_startup_helper.h',
685        'browser/runtime_data.cc',
686        'browser/runtime_data.h',
687        'browser/script_execution_observer.h',
688        'browser/script_executor.cc',
689        'browser/script_executor.h',
690        'browser/state_store.cc',
691        'browser/state_store.h',
692        'browser/suggest_permission_util.cc',
693        'browser/suggest_permission_util.h',
694        'browser/uninstall_reason.h',
695        'browser/update_observer.h',
696        'browser/updater/manifest_fetch_data.cc',
697        'browser/updater/manifest_fetch_data.h',
698        'browser/updater/safe_manifest_parser.cc',
699        'browser/updater/safe_manifest_parser.h',
700        'browser/url_request_util.cc',
701        'browser/url_request_util.h',
702        'browser/value_store/leveldb_value_store.cc',
703        'browser/value_store/leveldb_value_store.h',
704        'browser/value_store/testing_value_store.cc',
705        'browser/value_store/testing_value_store.h',
706        'browser/value_store/value_store.cc',
707        'browser/value_store/value_store.h',
708        'browser/value_store/value_store_change.cc',
709        'browser/value_store/value_store_change.h',
710        'browser/value_store/value_store_frontend.cc',
711        'browser/value_store/value_store_frontend.h',
712        'browser/value_store/value_store_util.cc',
713        'browser/value_store/value_store_util.h',
714        'browser/verified_contents.cc',
715        'browser/verified_contents.h',
716        'browser/view_type_utils.cc',
717        'browser/view_type_utils.h',
718        'browser/warning_service.cc',
719        'browser/warning_service.h',
720        'browser/warning_set.cc',
721        'browser/warning_set.h',
722      ],
723      'conditions': [
724        ['enable_extensions==0', {
725          # Exclude all API implementations and the ExtensionsApiClient
726          # interface. Moving an API from src/chrome to src/extensions implies
727          # it can be cleanly disabled with enable_extensions==0.
728          # TODO: Eventually the entire extensions module should not be built
729          # when enable_extensions==0.
730          'sources/': [
731            ['exclude', '^browser/'],
732          ],
733          'dependencies!': [
734            '../components/components.gyp:storage_monitor',
735            '../device/bluetooth/bluetooth.gyp:device_bluetooth',
736            '../device/serial/serial.gyp:device_serial',
737          ],
738        }],
739        ['use_openssl==1', {
740          'sources': [
741            'browser/api/cast_channel/cast_auth_util_openssl.cc',
742          ],
743          'dependencies': [
744            '../third_party/boringssl/boringssl.gyp:boringssl',
745          ],
746        }, {
747          'sources': [
748            # cast_auth_util_nss.cc uses NSS functions.
749            'browser/api/cast_channel/cast_auth_util_nss.cc',
750          ],
751          'conditions': [
752            ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
753              'dependencies': [
754                '../build/linux/system.gyp:ssl',
755              ],
756            }],
757            ['OS == "mac" or OS == "ios" or OS == "win"', {
758              'dependencies': [
759                '../third_party/nss/nss.gyp:nspr',
760                '../third_party/nss/nss.gyp:nss',
761              ],
762            }],
763          ],
764        }],
765      ],
766      # Disable c4267 warnings until we fix size_t to int truncations.
767      'msvs_disabled_warnings': [ 4267, ],
768    },
769    {
770      # GN version: //extensions/renderer
771      'target_name': 'extensions_renderer',
772      'type': 'static_library',
773      'dependencies': [
774        'extensions_resources.gyp:extensions_resources',
775        '../chrome/chrome_resources.gyp:chrome_resources',
776        '../content/content.gyp:content_resources',
777        '../gin/gin.gyp:gin',
778        '../mojo/mojo_base.gyp:mojo_js_bindings',
779        '../third_party/WebKit/public/blink.gyp:blink',
780      ],
781      'include_dirs': [
782        '..',
783      ],
784      'sources': [
785        # Note: sources list duplicated in GN build.
786        'renderer/activity_log_converter_strategy.cc',
787        'renderer/activity_log_converter_strategy.h',
788        'renderer/api_activity_logger.cc',
789        'renderer/api_activity_logger.h',
790        'renderer/api_definitions_natives.cc',
791        'renderer/api_definitions_natives.h',
792        'renderer/app_runtime_custom_bindings.cc',
793        'renderer/app_runtime_custom_bindings.h',
794        'renderer/app_window_custom_bindings.cc',
795        'renderer/app_window_custom_bindings.h',
796        'renderer/binding_generating_native_handler.cc',
797        'renderer/binding_generating_native_handler.h',
798        'renderer/blob_native_handler.cc',
799        'renderer/blob_native_handler.h',
800        'renderer/console.cc',
801        'renderer/console.h',
802        'renderer/content_watcher.cc',
803        'renderer/content_watcher.h',
804        'renderer/context_menus_custom_bindings.cc',
805        'renderer/context_menus_custom_bindings.h',
806        'renderer/css_native_handler.cc',
807        'renderer/css_native_handler.h',
808        'renderer/default_dispatcher_delegate.cc',
809        'renderer/default_dispatcher_delegate.h',
810        'renderer/dispatcher.cc',
811        'renderer/dispatcher.h',
812        'renderer/dispatcher_delegate.h',
813        'renderer/document_custom_bindings.cc',
814        'renderer/document_custom_bindings.h',
815        'renderer/dom_activity_logger.cc',
816        'renderer/dom_activity_logger.h',
817        'renderer/event_bindings.cc',
818        'renderer/event_bindings.h',
819        'renderer/extension_groups.h',
820        'renderer/extension_helper.cc',
821        'renderer/extension_helper.h',
822        'renderer/extensions_render_frame_observer.cc',
823        'renderer/extensions_render_frame_observer.h',
824        'renderer/extensions_renderer_client.cc',
825        'renderer/extensions_renderer_client.h',
826        'renderer/file_system_natives.cc',
827        'renderer/file_system_natives.h',
828        'renderer/guest_view/guest_view_container.cc',
829        'renderer/guest_view/guest_view_container.h',
830        'renderer/guest_view/guest_view_internal_custom_bindings.cc',
831        'renderer/guest_view/guest_view_internal_custom_bindings.h',
832        'renderer/i18n_custom_bindings.cc',
833        'renderer/i18n_custom_bindings.h',
834        'renderer/id_generator_custom_bindings.cc',
835        'renderer/id_generator_custom_bindings.h',
836        'renderer/lazy_background_page_native_handler.cc',
837        'renderer/lazy_background_page_native_handler.h',
838        'renderer/logging_native_handler.cc',
839        'renderer/logging_native_handler.h',
840        'renderer/messaging_bindings.cc',
841        'renderer/messaging_bindings.h',
842        'renderer/module_system.cc',
843        'renderer/module_system.h',
844        'renderer/native_handler.cc',
845        'renderer/native_handler.h',
846        'renderer/object_backed_native_handler.cc',
847        'renderer/object_backed_native_handler.h',
848        'renderer/print_native_handler.cc',
849        'renderer/print_native_handler.h',
850        'renderer/process_info_native_handler.cc',
851        'renderer/process_info_native_handler.h',
852        'renderer/programmatic_script_injector.cc',
853        'renderer/programmatic_script_injector.h',
854        'renderer/render_view_observer_natives.cc',
855        'renderer/request_sender.cc',
856        'renderer/request_sender.h',
857        'renderer/resource_bundle_source_map.cc',
858        'renderer/resource_bundle_source_map.h',
859        'renderer/resources/app_runtime_custom_bindings.js',
860        'renderer/resources/app_window_custom_bindings.js',
861        'renderer/resources/binding.js',
862        'renderer/resources/context_menus_custom_bindings.js',
863        'renderer/resources/declarative_webrequest_custom_bindings.js',
864        'renderer/resources/entry_id_manager.js',
865        'renderer/resources/event.js',
866        'renderer/resources/extension.css',
867        'renderer/resources/extension_custom_bindings.js',
868        'renderer/resources/extension_fonts.css',
869        'renderer/resources/greasemonkey_api.js',
870        'renderer/resources/i18n_custom_bindings.js',
871        'renderer/resources/image_util.js',
872        'renderer/resources/json_schema.js',
873        'renderer/resources/last_error.js',
874        'renderer/resources/messaging.js',
875        'renderer/resources/messaging_utils.js',
876        'renderer/resources/permissions_custom_bindings.js',
877        'renderer/resources/platform_app.css',
878        'renderer/resources/platform_app.js',
879        'renderer/resources/runtime_custom_bindings.js',
880        'renderer/resources/schema_utils.js',
881        'renderer/resources/send_request.js',
882        'renderer/resources/set_icon.js',
883        'renderer/resources/storage_area.js',
884        'renderer/resources/test_custom_bindings.js',
885        'renderer/resources/uncaught_exception_handler.js',
886        'renderer/resources/unload_event.js',
887        'renderer/resources/utils.js',
888        'renderer/resources/web_request_custom_bindings.js',
889        'renderer/resources/web_request_internal_custom_bindings.js',
890        'renderer/runtime_custom_bindings.cc',
891        'renderer/runtime_custom_bindings.h',
892        'renderer/safe_builtins.cc',
893        'renderer/safe_builtins.h',
894        'renderer/scoped_persistent.h',
895        'renderer/script_context.cc',
896        'renderer/script_context.h',
897        'renderer/script_context_set.cc',
898        'renderer/script_context_set.h',
899        'renderer/script_injection.cc',
900        'renderer/script_injection.h',
901        'renderer/script_injection_manager.cc',
902        'renderer/script_injection_manager.h',
903        'renderer/script_injector.h',
904        'renderer/scripts_run_info.cc',
905        'renderer/scripts_run_info.h',
906        'renderer/send_request_natives.cc',
907        'renderer/send_request_natives.h',
908        'renderer/set_icon_natives.cc',
909        'renderer/set_icon_natives.h',
910        'renderer/static_v8_external_ascii_string_resource.cc',
911        'renderer/static_v8_external_ascii_string_resource.h',
912        'renderer/test_features_native_handler.cc',
913        'renderer/test_features_native_handler.h',
914        'renderer/user_gestures_native_handler.cc',
915        'renderer/user_gestures_native_handler.h',
916        'renderer/user_script_injector.cc',
917        'renderer/user_script_injector.h',
918        'renderer/user_script_set.cc',
919        'renderer/user_script_set.h',
920        'renderer/user_script_set_manager.cc',
921        'renderer/user_script_set_manager.h',
922        'renderer/utils_native_handler.cc',
923        'renderer/utils_native_handler.h',
924        'renderer/v8_context_native_handler.cc',
925        'renderer/v8_context_native_handler.h',
926        'renderer/v8_schema_registry.cc',
927        'renderer/v8_schema_registry.h',
928      ],
929      # Disable c4267 warnings until we fix size_t to int truncations.
930      'msvs_disabled_warnings': [ 4267, ],
931    },
932    {
933      # GN version: //extensions:test_support
934      'target_name': 'extensions_test_support',
935      'type': 'static_library',
936      'dependencies': [
937        '../base/base.gyp:base',
938        '../components/components.gyp:user_prefs',
939        '../net/net.gyp:net_test_support',
940        '../testing/gtest.gyp:gtest',
941        'browser/api/api_registration.gyp:extensions_api_registration',
942        'common/api/api.gyp:extensions_api',
943        'extensions_browser',
944        'extensions_common',
945        'extensions_resources.gyp:extensions_resources',
946      ],
947      'include_dirs': [
948        '..',
949        '<(SHARED_INTERMEDIATE_DIR)',
950      ],
951      'sources': [
952        # Note: sources list duplicated in GN build.
953        'browser/api/dns/mock_host_resolver_creator.cc',
954        'browser/api/dns/mock_host_resolver_creator.h',
955        'browser/api/storage/settings_test_util.cc',
956        'browser/api/storage/settings_test_util.h',
957        'browser/api_test_utils.cc',
958        'browser/api_test_utils.h',
959        'browser/extension_error_test_util.cc',
960        'browser/extension_error_test_util.h',
961        'browser/extensions_test.cc',
962        'browser/extensions_test.h',
963        'browser/guest_view/web_view/test_guest_view_manager.cc',
964        'browser/guest_view/web_view/test_guest_view_manager.h',
965        'browser/mock_extension_system.cc',
966        'browser/mock_extension_system.h',
967        'browser/test_extensions_browser_client.cc',
968        'browser/test_extensions_browser_client.h',
969        'browser/test_management_policy.cc',
970        'browser/test_management_policy.h',
971        'browser/test_runtime_api_delegate.cc',
972        'browser/test_runtime_api_delegate.h',
973        'common/extension_builder.cc',
974        'common/extension_builder.h',
975        'common/manifest_test.cc',
976        'common/manifest_test.h',
977        'common/test_util.cc',
978        'common/test_util.h',
979        'common/value_builder.cc',
980        'common/value_builder.h',
981        'renderer/test_extensions_renderer_client.cc',
982        'renderer/test_extensions_renderer_client.h',
983        'test/extension_test_message_listener.cc',
984        'test/extension_test_message_listener.h',
985        'test/result_catcher.cc',
986        'test/result_catcher.h',
987        'test/test_extensions_client.cc',
988        'test/test_extensions_client.h',
989        'test/test_permission_message_provider.cc',
990        'test/test_permission_message_provider.h',
991      ],
992      # Disable c4267 warnings until we fix size_t to int truncations.
993      'msvs_disabled_warnings': [ 4267, ],
994    },
995    {
996      # The pak file generated by this target is intended to be shared by
997      # both shell and test targets. It was combined because it might help a
998      # little bit with build time by avoiding a repack step (one instead of
999      # two).
1000      'target_name': 'extensions_shell_and_test_pak',
1001      'type': 'none',
1002      'dependencies': [
1003        # Need extension related resources in common_resources.pak and
1004        # renderer_resources_100_percent.pak
1005        '../chrome/chrome_resources.gyp:chrome_resources',
1006        # Need dev-tools related resources in shell_resources.pak and
1007        # devtools_resources.pak.
1008        '../content/browser/devtools/devtools_resources.gyp:devtools_resources',
1009        '../content/content.gyp:content_resources',
1010        '../content/content_shell_and_tests.gyp:content_shell_resources',
1011        '../ui/resources/ui_resources.gyp:ui_resources',
1012        '../ui/strings/ui_strings.gyp:ui_strings',
1013        'extensions_resources.gyp:extensions_resources',
1014        'extensions_strings.gyp:extensions_strings',
1015      ],
1016      'actions': [
1017        {
1018          'action_name': 'repack_extensions_shell_and_test_pak',
1019          'variables': {
1020            'pak_inputs': [
1021              '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.pak',
1022              '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.pak',
1023              # TODO(jamescook): Extract the extension/app related resources
1024              # from generated_resources_en-US.pak. http://crbug.com/397250
1025              '<(SHARED_INTERMEDIATE_DIR)/chrome/generated_resources_en-US.pak',
1026              '<(SHARED_INTERMEDIATE_DIR)/chrome/renderer_resources_100_percent.pak',
1027              '<(SHARED_INTERMEDIATE_DIR)/content/app/strings/content_strings_en-US.pak',
1028              '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak',
1029              '<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak',
1030              '<(SHARED_INTERMEDIATE_DIR)/extensions/extensions_browser_resources_100_percent.pak',
1031              '<(SHARED_INTERMEDIATE_DIR)/extensions/extensions_renderer_resources.pak',
1032              '<(SHARED_INTERMEDIATE_DIR)/extensions/extensions_resources.pak',
1033              '<(SHARED_INTERMEDIATE_DIR)/extensions/extensions_resources.pak',
1034              '<(SHARED_INTERMEDIATE_DIR)/extensions/strings/extensions_strings_en-US.pak',
1035              '<(SHARED_INTERMEDIATE_DIR)/ui/resources/ui_resources_100_percent.pak',
1036              '<(SHARED_INTERMEDIATE_DIR)/ui/strings/app_locale_settings_en-US.pak',
1037              '<(SHARED_INTERMEDIATE_DIR)/ui/strings/ui_strings_en-US.pak',
1038              '<(SHARED_INTERMEDIATE_DIR)/webkit/devtools_resources.pak',
1039            ],
1040            'pak_output': '<(PRODUCT_DIR)/extensions_shell_and_test.pak',
1041          },
1042          'includes': [ '../build/repack_action.gypi' ],
1043        },
1044      ],
1045    },
1046    {
1047      'target_name': 'extensions_unittests',
1048      'type': 'executable',
1049      'dependencies': [
1050        '../base/base.gyp:base',
1051        '../base/base.gyp:base_prefs_test_support',
1052        '../base/base.gyp:test_support_base',
1053        '../components/components.gyp:keyed_service_content',
1054        '../components/components.gyp:user_prefs',
1055        '../content/content_shell_and_tests.gyp:test_support_content',
1056        '../device/bluetooth/bluetooth.gyp:device_bluetooth_mocks',
1057        '../device/serial/serial.gyp:device_serial',
1058        '../device/serial/serial.gyp:device_serial_test_util',
1059        '../mojo/mojo_base.gyp:mojo_environment_chromium',
1060        '../mojo/mojo_base.gyp:mojo_cpp_bindings',
1061        '../mojo/mojo_base.gyp:mojo_js_bindings_lib',
1062        '../mojo/mojo_base.gyp:mojo_system_impl',
1063        '../testing/gmock.gyp:gmock',
1064        '../testing/gtest.gyp:gtest',
1065        '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
1066        'common/api/api.gyp:cast_channel_proto',
1067        'extensions_common',
1068        'extensions_renderer',
1069        'extensions_resources.gyp:extensions_resources',
1070        'extensions_shell_and_test_pak',
1071        'extensions_strings.gyp:extensions_strings',
1072        'extensions_test_support',
1073      ],
1074      # Needed for third_party libraries like leveldb.
1075      'include_dirs': [
1076        '..',
1077      ],
1078      'sources': [
1079        'browser/api/api_resource_manager_unittest.cc',
1080        'browser/api/bluetooth/bluetooth_event_router_unittest.cc',
1081        'browser/api/cast_channel/cast_channel_api_unittest.cc',
1082        'browser/api/cast_channel/cast_framer_unittest.cc',
1083        'browser/api/cast_channel/cast_socket_unittest.cc',
1084        'browser/api/cast_channel/cast_transport_unittest.cc',
1085        'browser/api/cast_channel/logger_unittest.cc',
1086        'browser/api/declarative/declarative_rule_unittest.cc',
1087        'browser/api/declarative/deduping_factory_unittest.cc',
1088        'browser/api/declarative/rules_registry_unittest.cc',
1089        'browser/api/declarative_webrequest/webrequest_condition_unittest.cc',
1090        'browser/api/declarative_webrequest/webrequest_condition_attribute_unittest.cc',
1091        'browser/api/power/power_api_unittest.cc',
1092        'browser/api/sockets_tcp/sockets_tcp_api_unittest.cc',
1093        'browser/api/storage/settings_quota_unittest.cc',
1094        'browser/api/storage/storage_api_unittest.cc',
1095        'browser/api/storage/storage_frontend_unittest.cc',
1096        'browser/api/web_request/form_data_parser_unittest.cc',
1097        'browser/api/web_request/upload_data_presenter_unittest.cc',
1098        'browser/api/web_request/web_request_time_tracker_unittest.cc',
1099        'browser/app_window/app_window_geometry_cache_unittest.cc',
1100        'browser/computed_hashes_unittest.cc',
1101        'browser/content_hash_tree_unittest.cc',
1102        'browser/event_listener_map_unittest.cc',
1103        'browser/event_router_unittest.cc',
1104        'browser/api_unittest.cc',
1105        'browser/api_unittest.h',
1106        'browser/error_map_unittest.cc',
1107        'browser/extension_icon_image_unittest.cc',
1108        'browser/extension_pref_value_map_unittest.cc',
1109        'browser/extension_registry_unittest.cc',
1110        'browser/file_highlighter_unittest.cc',
1111        'browser/file_reader_unittest.cc',
1112        'browser/guest_view/guest_view_manager_unittest.cc',
1113        'browser/image_loader_unittest.cc',
1114        'browser/image_util_unittest.cc',
1115        'browser/info_map_unittest.cc',
1116        'browser/lazy_background_task_queue_unittest.cc',
1117        'browser/management_policy_unittest.cc',
1118        'browser/process_manager_unittest.cc',
1119        'browser/process_map_unittest.cc',
1120        'browser/quota_service_unittest.cc',
1121        'browser/runtime_data_unittest.cc',
1122        'browser/value_store/leveldb_value_store_unittest.cc',
1123        'browser/value_store/testing_value_store_unittest.cc',
1124        'browser/value_store/value_store_change_unittest.cc',
1125        'browser/value_store/value_store_frontend_unittest.cc',
1126        'browser/value_store/value_store_unittest.cc',
1127        'browser/value_store/value_store_unittest.h',
1128        'browser/verified_contents_unittest.cc',
1129        'browser/warning_service_unittest.cc',
1130        'common/api/sockets/sockets_manifest_permission_unittest.cc',
1131        'common/csp_validator_unittest.cc',
1132        'common/event_filter_unittest.cc',
1133        'common/extension_l10n_util_unittest.cc',
1134        'common/extension_resource_unittest.cc',
1135        'common/extension_set_unittest.cc',
1136        'common/features/base_feature_provider_unittest.cc',
1137        'common/features/complex_feature_unittest.cc',
1138        'common/features/simple_feature_unittest.cc',
1139        'common/file_util_unittest.cc',
1140        'common/manifest_handler_unittest.cc',
1141        'common/manifest_handlers/externally_connectable_unittest.cc',
1142        'common/manifest_handlers/file_handler_manifest_unittest.cc',
1143        'common/manifest_handlers/shared_module_manifest_unittest.cc',
1144        'common/message_bundle_unittest.cc',
1145        'common/one_shot_event_unittest.cc',
1146        'common/permissions/api_permission_set_unittest.cc',
1147        'common/permissions/manifest_permission_set_unittest.cc',
1148        'common/permissions/socket_permission_unittest.cc',
1149        'common/permissions/usb_device_permission_unittest.cc',
1150        'common/stack_frame_unittest.cc',
1151        'common/url_pattern_set_unittest.cc',
1152        'common/url_pattern_unittest.cc',
1153        'common/user_script_unittest.cc',
1154        'renderer/activity_log_converter_strategy_unittest.cc',
1155        'renderer/api/serial/data_receiver_unittest.cc',
1156        'renderer/api/serial/data_sender_unittest.cc',
1157        'renderer/api/serial/serial_api_unittest.cc',
1158        'renderer/api_test_base.cc',
1159        'renderer/api_test_base.h',
1160        'renderer/api_test_base_unittest.cc',
1161        'renderer/event_unittest.cc',
1162        'renderer/json_schema_unittest.cc',
1163        'renderer/messaging_utils_unittest.cc',
1164        'renderer/module_system_test.cc',
1165        'renderer/module_system_test.h',
1166        'renderer/module_system_unittest.cc',
1167        'renderer/safe_builtins_unittest.cc',
1168        'renderer/script_context_set_unittest.cc',
1169        'renderer/utils_unittest.cc',
1170        'test/extensions_unittests_main.cc',
1171      ],
1172      # Disable c4267 warnings until we fix size_t to int truncations.
1173      'msvs_disabled_warnings': [ 4267, ],
1174      'conditions': [
1175        ['OS=="win" and win_use_allocator_shim==1', {
1176          'dependencies': [
1177            '../base/allocator/allocator.gyp:allocator',
1178          ],
1179        }],
1180      ],
1181    },
1182  ]
1183}
1184