gn format //chrome
[chromium-blink-merge.git] / extensions / browser / BUILD.gn
blob3db7700804a4861c58912027e327002aad7d8f8b
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.
5 import("//build/config/crypto.gni")
6 import("//build/config/features.gni")
8 # GYP version: extensions/extensions.gyp:extensions_browser
9 source_set("browser") {
10   sources = []
12   deps = [
13     "//components/copresence_sockets",
14     "//components/keyed_service/content",
15     "//components/keyed_service/core",
16     "//components/pref_registry",
17     "//components/sessions:sessions_content",
18     "//components/web_cache/browser",
19     "//components/web_modal",
20     "//content/public/browser",
21     "//crypto:platform",
22     "//extensions/common",
23     "//extensions/common/api",
24     "//extensions/common/api:api_registration",
25     "//extensions/strings",
26     "//google_apis",
27     "//skia",
28     "//third_party/leveldatabase",
29     "//third_party/re2",
30   ]
32   if (enable_extensions) {
33     # Includes all API implementations and the ExtensionsApiClient
34     # interface. Moving an API from src/chrome to src/extensions implies
35     # it can be cleanly disabled with enable_extensions=false.
36     # TODO: Eventually the entire extensions module should not be built
37     # when enable_extensions=false.
38     sources += [
39       "api/activity_log/web_request_constants.cc",
40       "api/activity_log/web_request_constants.h",
41       "api/api_resource.cc",
42       "api/api_resource.h",
43       "api/api_resource_manager.h",
44       "api/app_current_window_internal/app_current_window_internal_api.cc",
45       "api/app_current_window_internal/app_current_window_internal_api.h",
46       "api/app_runtime/app_runtime_api.cc",
47       "api/app_runtime/app_runtime_api.h",
48       "api/app_view/app_view_guest_internal_api.cc",
49       "api/app_view/app_view_guest_internal_api.h",
50       "api/app_window/app_window_api.cc",
51       "api/app_window/app_window_api.h",
52       "api/async_api_function.cc",
53       "api/async_api_function.h",
54       "api/bluetooth/bluetooth_api.cc",
55       "api/bluetooth/bluetooth_api.h",
56       "api/bluetooth/bluetooth_api_pairing_delegate.cc",
57       "api/bluetooth/bluetooth_api_pairing_delegate.h",
58       "api/bluetooth/bluetooth_api_utils.cc",
59       "api/bluetooth/bluetooth_api_utils.h",
60       "api/bluetooth/bluetooth_event_router.cc",
61       "api/bluetooth/bluetooth_event_router.h",
62       "api/bluetooth/bluetooth_extension_function.cc",
63       "api/bluetooth/bluetooth_extension_function.h",
64       "api/bluetooth/bluetooth_private_api.cc",
65       "api/bluetooth/bluetooth_private_api.h",
66       "api/bluetooth_low_energy/bluetooth_low_energy_api.cc",
67       "api/bluetooth_low_energy/bluetooth_low_energy_api.h",
68       "api/bluetooth_low_energy/bluetooth_low_energy_connection.cc",
69       "api/bluetooth_low_energy/bluetooth_low_energy_connection.h",
70       "api/bluetooth_low_energy/bluetooth_low_energy_event_router.cc",
71       "api/bluetooth_low_energy/bluetooth_low_energy_event_router.h",
72       "api/bluetooth_low_energy/bluetooth_low_energy_notify_session.cc",
73       "api/bluetooth_low_energy/bluetooth_low_energy_notify_session.h",
74       "api/bluetooth_low_energy/utils.cc",
75       "api/bluetooth_low_energy/utils.h",
76       "api/bluetooth_socket/bluetooth_api_socket.cc",
77       "api/bluetooth_socket/bluetooth_api_socket.h",
78       "api/bluetooth_socket/bluetooth_socket_api.cc",
79       "api/bluetooth_socket/bluetooth_socket_api.h",
80       "api/bluetooth_socket/bluetooth_socket_event_dispatcher.cc",
81       "api/bluetooth_socket/bluetooth_socket_event_dispatcher.h",
82       "api/capture_web_contents_function.cc",
83       "api/capture_web_contents_function.h",
84       "api/cast_channel/cast_auth_ica.cc",
85       "api/cast_channel/cast_auth_ica.h",
86       "api/cast_channel/cast_auth_util.cc",
87       "api/cast_channel/cast_auth_util.h",
88       "api/cast_channel/cast_channel_api.cc",
89       "api/cast_channel/cast_channel_api.h",
90       "api/cast_channel/cast_framer.cc",
91       "api/cast_channel/cast_framer.h",
92       "api/cast_channel/cast_message_util.cc",
93       "api/cast_channel/cast_message_util.h",
94       "api/cast_channel/cast_socket.cc",
95       "api/cast_channel/cast_socket.h",
96       "api/cast_channel/cast_transport.cc",
97       "api/cast_channel/cast_transport.h",
98       "api/cast_channel/logger.cc",
99       "api/cast_channel/logger.h",
100       "api/cast_channel/logger_util.cc",
101       "api/cast_channel/logger_util.h",
102       "api/copresence_socket/copresence_socket_api.cc",
103       "api/copresence_socket/copresence_socket_api.h",
104       "api/copresence_socket/copresence_socket_resources.cc",
105       "api/copresence_socket/copresence_socket_resources.h",
106       "api/declarative/declarative_api.cc",
107       "api/declarative/declarative_api.h",
108       "api/declarative/declarative_rule.h",
109       "api/declarative/deduping_factory.h",
110       "api/declarative/rules_cache_delegate.cc",
111       "api/declarative/rules_cache_delegate.h",
112       "api/declarative/rules_registry.cc",
113       "api/declarative/rules_registry.h",
114       "api/declarative/rules_registry_service.cc",
115       "api/declarative/rules_registry_service.h",
116       "api/declarative/test_rules_registry.cc",
117       "api/declarative/test_rules_registry.h",
118       "api/declarative_content/content_rules_registry.h",
119       "api/declarative_webrequest/request_stage.cc",
120       "api/declarative_webrequest/request_stage.h",
121       "api/declarative_webrequest/webrequest_action.cc",
122       "api/declarative_webrequest/webrequest_action.h",
123       "api/declarative_webrequest/webrequest_condition_attribute.cc",
124       "api/declarative_webrequest/webrequest_condition_attribute.h",
125       "api/declarative_webrequest/webrequest_condition.cc",
126       "api/declarative_webrequest/webrequest_condition.h",
127       "api/declarative_webrequest/webrequest_constants.cc",
128       "api/declarative_webrequest/webrequest_constants.h",
129       "api/declarative_webrequest/webrequest_rules_registry.cc",
130       "api/declarative_webrequest/webrequest_rules_registry.h",
131       "api/device_permissions_manager.cc",
132       "api/device_permissions_manager.h",
133       "api/device_permissions_prompt.cc",
134       "api/device_permissions_prompt.h",
135       "api/dns/dns_api.cc",
136       "api/dns/dns_api.h",
137       "api/dns/host_resolver_wrapper.cc",
138       "api/dns/host_resolver_wrapper.h",
139       "api/execute_code_function.cc",
140       "api/execute_code_function.h",
141       "api/extensions_api_client.cc",
142       "api/extensions_api_client.h",
143       "api/guest_view/guest_view_internal_api.cc",
144       "api/guest_view/guest_view_internal_api.h",
145       "api/hid/hid_api.cc",
146       "api/hid/hid_api.h",
147       "api/hid/hid_connection_resource.cc",
148       "api/hid/hid_connection_resource.h",
149       "api/hid/hid_device_manager.cc",
150       "api/hid/hid_device_manager.h",
151       "api/management/management_api.cc",
152       "api/management/management_api.h",
153       "api/management/management_api_constants.cc",
154       "api/management/management_api_constants.h",
155       "api/management/management_api_delegate.h",
156       "api/messaging/native_message_host.cc",
157       "api/power/power_api.cc",
158       "api/power/power_api.h",
159       "api/power/power_api_manager.cc",
160       "api/power/power_api_manager.h",
161       "api/runtime/runtime_api.cc",
162       "api/runtime/runtime_api.h",
163       "api/runtime/runtime_api_delegate.cc",
164       "api/runtime/runtime_api_delegate.h",
165       "api/serial/serial_api.cc",
166       "api/serial/serial_api.h",
167       "api/serial/serial_connection.cc",
168       "api/serial/serial_connection.h",
169       "api/serial/serial_event_dispatcher.cc",
170       "api/serial/serial_event_dispatcher.h",
171       "api/socket/socket.cc",
172       "api/socket/socket.h",
173       "api/socket/socket_api.cc",
174       "api/socket/socket_api.h",
175       "api/socket/tcp_socket.cc",
176       "api/socket/tcp_socket.h",
177       "api/socket/tls_socket.cc",
178       "api/socket/tls_socket.h",
179       "api/socket/udp_socket.cc",
180       "api/socket/udp_socket.h",
181       "api/sockets_tcp/sockets_tcp_api.cc",
182       "api/sockets_tcp/sockets_tcp_api.h",
183       "api/sockets_tcp/tcp_socket_event_dispatcher.cc",
184       "api/sockets_tcp/tcp_socket_event_dispatcher.h",
185       "api/sockets_tcp_server/sockets_tcp_server_api.cc",
186       "api/sockets_tcp_server/sockets_tcp_server_api.h",
187       "api/sockets_tcp_server/tcp_server_socket_event_dispatcher.cc",
188       "api/sockets_tcp_server/tcp_server_socket_event_dispatcher.h",
189       "api/sockets_udp/sockets_udp_api.cc",
190       "api/sockets_udp/sockets_udp_api.h",
191       "api/sockets_udp/udp_socket_event_dispatcher.cc",
192       "api/sockets_udp/udp_socket_event_dispatcher.h",
193       "api/storage/leveldb_settings_storage_factory.cc",
194       "api/storage/leveldb_settings_storage_factory.h",
195       "api/storage/local_value_store_cache.cc",
196       "api/storage/local_value_store_cache.h",
197       "api/storage/settings_namespace.cc",
198       "api/storage/settings_namespace.h",
199       "api/storage/settings_observer.h",
200       "api/storage/settings_storage_factory.h",
201       "api/storage/settings_storage_quota_enforcer.cc",
202       "api/storage/settings_storage_quota_enforcer.h",
203       "api/storage/storage_api.cc",
204       "api/storage/storage_api.h",
205       "api/storage/storage_frontend.cc",
206       "api/storage/storage_frontend.h",
207       "api/storage/value_store_cache.cc",
208       "api/storage/value_store_cache.h",
209       "api/storage/weak_unlimited_settings_storage.cc",
210       "api/storage/weak_unlimited_settings_storage.h",
211       "api/system_cpu/cpu_info_provider.cc",
212       "api/system_cpu/cpu_info_provider.h",
213       "api/system_cpu/cpu_info_provider_linux.cc",
214       "api/system_cpu/cpu_info_provider_mac.cc",
215       "api/system_cpu/cpu_info_provider_win.cc",
216       "api/system_cpu/system_cpu_api.cc",
217       "api/system_cpu/system_cpu_api.h",
218       "api/system_display/display_info_provider.cc",
219       "api/system_display/display_info_provider.h",
220       "api/system_display/system_display_api.cc",
221       "api/system_display/system_display_api.h",
222       "api/system_info/system_info_api.cc",
223       "api/system_info/system_info_api.h",
224       "api/system_info/system_info_provider.cc",
225       "api/system_info/system_info_provider.h",
226       "api/system_memory/memory_info_provider.cc",
227       "api/system_memory/memory_info_provider.h",
228       "api/system_memory/system_memory_api.cc",
229       "api/system_memory/system_memory_api.h",
230       "api/system_network/system_network_api.cc",
231       "api/system_network/system_network_api.h",
232       "api/system_storage/storage_info_provider.cc",
233       "api/system_storage/storage_info_provider.h",
234       "api/system_storage/system_storage_api.cc",
235       "api/system_storage/system_storage_api.h",
236       "api/test/test_api.cc",
237       "api/test/test_api.h",
238       "api/usb/usb_api.cc",
239       "api/usb/usb_api.h",
240       "api/usb/usb_device_resource.cc",
241       "api/usb/usb_device_resource.h",
242       "api/virtual_keyboard_private/virtual_keyboard_private_api.cc",
243       "api/virtual_keyboard_private/virtual_keyboard_private_api.h",
244       "api/virtual_keyboard_private/virtual_keyboard_delegate.h",
245       "api/web_request/form_data_parser.cc",
246       "api/web_request/form_data_parser.h",
247       "api/web_request/upload_data_presenter.cc",
248       "api/web_request/upload_data_presenter.h",
249       "api/web_request/web_request_api.cc",
250       "api/web_request/web_request_api.h",
251       "api/web_request/web_request_api_constants.cc",
252       "api/web_request/web_request_api_constants.h",
253       "api/web_request/web_request_api_helpers.cc",
254       "api/web_request/web_request_api_helpers.h",
255       "api/web_request/web_request_permissions.cc",
256       "api/web_request/web_request_permissions.h",
257       "api/web_request/web_request_event_router_delegate.cc",
258       "api/web_request/web_request_event_router_delegate.h",
259       "api/web_request/web_request_time_tracker.cc",
260       "api/web_request/web_request_time_tracker.h",
261       "api/web_view/web_view_internal_api.cc",
262       "api/web_view/web_view_internal_api.h",
263       "api/webcam_private/webcam_private_api.h",
264       "api/webcam_private/webcam_private_api_chromeos.cc",
265       "api_activity_monitor.h",
266       "app_sorting.h",
267       "app_window/app_delegate.h",
268       "app_window/app_web_contents_helper.cc",
269       "app_window/app_web_contents_helper.h",
270       "app_window/app_window.cc",
271       "app_window/app_window.h",
272       "app_window/app_window_client.cc",
273       "app_window/app_window_client.h",
274       "app_window/app_window_contents.cc",
275       "app_window/app_window_contents.h",
276       "app_window/app_window_geometry_cache.cc",
277       "app_window/app_window_geometry_cache.h",
278       "app_window/app_window_registry.cc",
279       "app_window/app_window_registry.h",
280       "app_window/native_app_window.h",
281       "app_window/size_constraints.cc",
282       "app_window/size_constraints.h",
283       "blacklist_state.h",
284       "blob_holder.cc",
285       "blob_holder.h",
286       "browser_context_keyed_api_factory.h",
287       "browser_context_keyed_service_factories.cc",
288       "browser_context_keyed_service_factories.h",
289       "component_extension_resource_manager.h",
290       "computed_hashes.cc",
291       "computed_hashes.h",
292       "content_hash_fetcher.cc",
293       "content_hash_fetcher.h",
294       "content_hash_reader.cc",
295       "content_hash_reader.h",
296       "content_hash_tree.cc",
297       "content_hash_tree.h",
298       "content_verifier.cc",
299       "content_verifier.h",
300       "content_verifier_delegate.h",
301       "content_verifier_io_data.cc",
302       "content_verifier_io_data.h",
303       "content_verify_job.cc",
304       "content_verify_job.h",
305       "error_map.cc",
306       "error_map.h",
307       "event_listener_map.cc",
308       "event_listener_map.h",
309       "event_router.cc",
310       "event_router.h",
311       "extension_error.cc",
312       "extension_error.h",
313       "extension_function.cc",
314       "extension_function.h",
315       "extension_function_dispatcher.cc",
316       "extension_function_dispatcher.h",
317       "extension_function_registry.cc",
318       "extension_function_registry.h",
319       "extension_function_util.cc",
320       "extension_function_util.h",
321       "extension_host.cc",
322       "extension_host.h",
323       "extension_host_delegate.h",
324       "extension_icon_image.cc",
325       "extension_icon_image.h",
326       "extension_message_filter.cc",
327       "extension_message_filter.h",
328       "extension_pref_store.cc",
329       "extension_pref_store.h",
330       "extension_pref_value_map.cc",
331       "extension_pref_value_map.h",
332       "extension_pref_value_map_factory.cc",
333       "extension_pref_value_map_factory.h",
334       "extension_prefs.cc",
335       "extension_prefs.h",
336       "extension_prefs_factory.cc",
337       "extension_prefs_factory.h",
338       "extension_prefs_observer.h",
339       "extension_prefs_scope.h",
340       "extension_protocols.cc",
341       "extension_protocols.h",
342       "extension_registry.cc",
343       "extension_registry.h",
344       "extension_registry_factory.cc",
345       "extension_registry_factory.h",
346       "extension_registry_observer.h",
347       "extension_scoped_prefs.h",
348       "extension_system.cc",
349       "extension_system.h",
350       "extension_system_provider.cc",
351       "extension_system_provider.h",
352       "extension_util.cc",
353       "extension_util.h",
354       "extension_web_contents_observer.cc",
355       "extension_web_contents_observer.h",
356       "extensions_browser_client.cc",
357       "extensions_browser_client.h",
358       "external_provider_interface.h",
359       "file_highlighter.cc",
360       "file_highlighter.h",
361       "file_reader.cc",
362       "file_reader.h",
363       "granted_file_entry.cc",
364       "granted_file_entry.h",
365       "guest_view/app_view/app_view_constants.cc",
366       "guest_view/app_view/app_view_constants.h",
367       "guest_view/app_view/app_view_guest.cc",
368       "guest_view/app_view/app_view_guest.h",
369       "guest_view/app_view/app_view_guest_delegate.cc",
370       "guest_view/app_view/app_view_guest_delegate.h",
371       "guest_view/extension_options/extension_options_constants.cc",
372       "guest_view/extension_options/extension_options_constants.h",
373       "guest_view/extension_options/extension_options_guest.cc",
374       "guest_view/extension_options/extension_options_guest.h",
375       "guest_view/extension_options/extension_options_guest_delegate.cc",
376       "guest_view/extension_options/extension_options_guest_delegate.h",
377       "guest_view/guest_view_base.cc",
378       "guest_view/guest_view_base.h",
379       "guest_view/guest_view_manager_factory.h",
380       "guest_view/guest_view_manager.cc",
381       "guest_view/guest_view_manager.h",
382       "guest_view/guest_view.h",
383       "guest_view/mime_handler_view/mime_handler_view_constants.cc",
384       "guest_view/mime_handler_view/mime_handler_view_constants.h",
385       "guest_view/mime_handler_view/mime_handler_view_guest.h",
386       "guest_view/mime_handler_view/mime_handler_view_guest.cc",
387       "guest_view/mime_handler_view/mime_handler_view_guest_delegate.cc",
388       "guest_view/mime_handler_view/mime_handler_view_guest_delegate.h",
389       "guest_view/web_view/javascript_dialog_helper.cc",
390       "guest_view/web_view/javascript_dialog_helper.h",
391       "guest_view/web_view/web_view_constants.cc",
392       "guest_view/web_view/web_view_constants.h",
393       "guest_view/web_view/web_view_find_helper.cc",
394       "guest_view/web_view/web_view_find_helper.h",
395       "guest_view/web_view/web_view_guest.cc",
396       "guest_view/web_view/web_view_guest.h",
397       "guest_view/web_view/web_view_guest_delegate.h",
398       "guest_view/web_view/web_view_permission_types.h",
399       "guest_view/web_view/web_view_permission_helper.cc",
400       "guest_view/web_view/web_view_permission_helper.h",
401       "guest_view/web_view/web_view_permission_helper_delegate.cc",
402       "guest_view/web_view/web_view_permission_helper_delegate.h",
403       "guest_view/web_view/web_view_renderer_state.cc",
404       "guest_view/web_view/web_view_renderer_state.h",
405       "image_loader.cc",
406       "image_loader.h",
407       "image_loader_factory.cc",
408       "image_loader_factory.h",
409       "image_util.cc",
410       "image_util.h",
411       "info_map.cc",
412       "info_map.h",
413       "install/crx_installer_error.h",
414       "install/extension_install_ui.cc",
415       "install/extension_install_ui.h",
416       "install_flag.h",
417       "lazy_background_task_queue.cc",
418       "lazy_background_task_queue.h",
419       "management_policy.cc",
420       "management_policy.h",
421       "mojo/keep_alive_impl.cc",
422       "mojo/keep_alive_impl.h",
423       "mojo/service_registration_manager.cc",
424       "mojo/service_registration_manager.h",
425       "mojo/stash_backend.cc",
426       "mojo/stash_backend.h",
427       "null_app_sorting.cc",
428       "null_app_sorting.h",
429       "pref_names.cc",
430       "pref_names.h",
431       "process_manager.cc",
432       "process_manager.h",
433       "process_manager_delegate.h",
434       "process_manager_factory.cc",
435       "process_manager_factory.h",
436       "process_manager_observer.h",
437       "process_map.cc",
438       "process_map.h",
439       "process_map_factory.cc",
440       "process_map_factory.h",
441       "quota_service.cc",
442       "quota_service.h",
443       "renderer_startup_helper.cc",
444       "renderer_startup_helper.h",
445       "runtime_data.cc",
446       "runtime_data.h",
447       "script_execution_observer.h",
448       "script_executor.cc",
449       "script_executor.h",
450       "state_store.cc",
451       "state_store.h",
452       "suggest_permission_util.cc",
453       "suggest_permission_util.h",
454       "uninstall_reason.h",
455       "update_observer.h",
456       "updater/extension_cache.h",
457       "updater/extension_downloader.cc",
458       "updater/extension_downloader.h",
459       "updater/extension_downloader_delegate.cc",
460       "updater/extension_downloader_delegate.h",
461       "updater/manifest_fetch_data.cc",
462       "updater/manifest_fetch_data.h",
463       "updater/null_extension_cache.cc",
464       "updater/null_extension_cache.h",
465       "updater/request_queue.h",
466       "updater/request_queue_impl.h",
467       "updater/safe_manifest_parser.cc",
468       "updater/safe_manifest_parser.h",
469       "updater/update_service.cc",
470       "updater/update_service.h",
471       "updater/update_service_factory.cc",
472       "updater/update_service_factory.h",
473       "url_request_util.cc",
474       "url_request_util.h",
475       "value_store/leveldb_value_store.cc",
476       "value_store/leveldb_value_store.h",
477       "value_store/testing_value_store.cc",
478       "value_store/testing_value_store.h",
479       "value_store/value_store.cc",
480       "value_store/value_store.h",
481       "value_store/value_store_change.cc",
482       "value_store/value_store_change.h",
483       "value_store/value_store_frontend.cc",
484       "value_store/value_store_frontend.h",
485       "value_store/value_store_util.cc",
486       "value_store/value_store_util.h",
487       "verified_contents.cc",
488       "verified_contents.h",
489       "view_type_utils.cc",
490       "view_type_utils.h",
491       "warning_service.cc",
492       "warning_service.h",
493       "warning_service_factory.cc",
494       "warning_service_factory.h",
495       "warning_set.cc",
496       "warning_set.h",
497     ]
499     deps += [
500       "//components/storage_monitor",
501       "//crypto:platform",
502       "//device/bluetooth",
503       "//device/core",
504       "//device/hid",
505       "//device/serial",
506       "//device/usb",
507       "//extensions/common/api/cast_channel:cast_channel_proto",
508     ]
510     if (use_openssl) {
511       sources += [ "api/cast_channel/cast_auth_util_openssl.cc" ]
512     } else {
513       sources += [ "api/cast_channel/cast_auth_util_nss.cc" ]
514     }
516     if (is_chromeos) {
517       sources += [
518         "api/vpn_provider/vpn_provider_api.cc",
519         "api/vpn_provider/vpn_provider_api.h",
520         "api/vpn_provider/vpn_service.cc",
521         "api/vpn_provider/vpn_service.h",
522         "api/vpn_provider/vpn_service_factory.h",
523       ]
524     }
525   }
527   if (is_win) {
528     cflags = [ "/wd4267" ]  # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
529   }