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