Make RuleBasedHostResolverProc methods to add/remove rules threadsafe.
[chromium-blink-merge.git] / remoting / remoting_webapp_files.gypi
blob298683d23ec738b2c4f80de67e5054f580452db8
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 # `7MM"""Mq.                       `7MM
6 #   MM   `MM.                        MM
7 #   MM   ,M9  .gP"Ya   ,6"Yb.   ,M""bMM  `7MMpMMMb.pMMMb.  .gP"Ya
8 #   MMmmdM9  ,M'   Yb 8)   MM ,AP    MM    MM    MM    MM ,M'   Yb
9 #   MM  YM.  8M""""""  ,pm9MM 8MI    MM    MM    MM    MM 8M""""""
10 #   MM   `Mb.YM.    , 8M   MM `Mb    MM    MM    MM    MM YM.    ,
11 # .JMML. .JMM.`Mbmmd' `Moo9^Yo.`Wbmd"MML..JMML  JMML  JMML.`Mbmmd'
13 # Please keep this file in sync with remoting/webapp/files.gni.
16   'variables': {
18     # JSCompiler externs.
19     'remoting_webapp_js_externs_files': [
20       'webapp/externs/qunit.js',
21     ],
23     # Jscompile proto files.
24     # These provide type information for jscompile.
25     'remoting_webapp_js_proto_files': [
26       'webapp/js_proto/chrome_proto.js',
27       'webapp/js_proto/chrome_cast_proto.js',
28       'webapp/js_proto/dom_proto.js',
29       'webapp/js_proto/remoting_proto.js',
30     ],
32     #
33     # Webapp browsertest JavaScript files.
34     #
36     # Browser test files.
37     'remoting_webapp_browsertest_js_files': [
38       'webapp/browser_test/browser_test.js',
39       'webapp/browser_test/bump_scroll_browser_test.js',
40       'webapp/browser_test/cancel_pin_browser_test.js',
41       'webapp/browser_test/invalid_pin_browser_test.js',
42       'webapp/browser_test/it2me_browser_test.js',
43       'webapp/browser_test/me2me_browser_test.js',
44       'webapp/browser_test/scrollbar_browser_test.js',
45       'webapp/browser_test/timeout_waiter.js',
46       'webapp/browser_test/unauthenticated_browser_test.js',
47       'webapp/browser_test/update_pin_browser_test.js',
48     ],
49     # Browser test files.
50     'remoting_webapp_browsertest_js_mock_files': [
51       'webapp/crd/js/mock_client_plugin.js',
52       'webapp/crd/js/mock_host_list_api.js',
53       'webapp/crd/js/mock_identity.js',
54       'webapp/crd/js/mock_oauth2_api.js',
55       'webapp/crd/js/mock_signal_strategy.js',
56     ],
57     'remoting_webapp_browsertest_js_proto_files': [
58       'webapp/js_proto/sinon_proto.js',
59       'webapp/js_proto/test_proto.js',
60       '<@(remoting_webapp_js_proto_files)',
61     ],
62     'remoting_webapp_browsertest_all_js_files': [
63       '<@(remoting_webapp_browsertest_js_files)',
64       '<@(remoting_webapp_browsertest_js_mock_files)',
65     ],
66     'remoting_webapp_browsertest_main_html_extra_files': [
67       '<@(remoting_webapp_browsertest_all_js_files)',
68       '../third_party/sinonjs/src/sinon.js',
69     ],
71     #
72     # Webapp unittest JavaScript files.
73     #
75     # These product files are excluded from our JavaScript unittest
76     'remoting_webapp_unittests_exclude_js_files': [
77       # background.js is where the onLoad handler is defined, which
78       # makes it the entry point of the background page.
79       'webapp/crd/js/background.js',
80     ],
81     # The unit test cases for the webapp
82     'remoting_webapp_unittests_js_files': [
83       # TODO(jrw): Move spy_promise to base.
84       'webapp/unittests/spy_promise.js',
85       'webapp/unittests/spy_promise_unittest.js',
86       'webapp/base/js/base_unittest.js',
87       'webapp/base/js/base_event_hook_unittest.js',
88       'webapp/base/js/base_inherits_unittest.js',
89       'webapp/base/js/callstack_unittest.js',
90       'webapp/base/js/client_session_unittest.js',
91       'webapp/base/js/client_session_factory_unittest.js',
92       'webapp/base/js/console_wrapper_unittest.js',
93       'webapp/base/js/dns_blackhole_checker_unittest.js',
94       'webapp/base/js/error_unittest.js',
95       'webapp/base/js/fallback_signal_strategy_unittest.js',
96       'webapp/base/js/identity_unittest.js',
97       'webapp/base/js/ipc_unittest.js',
98       'webapp/base/js/l10n_unittest.js',
99       'webapp/base/js/platform_unittest.js',
100       'webapp/base/js/protocol_extension_manager_unittest.js',
101       'webapp/base/js/session_logger_unittest.js',
102       'webapp/base/js/telemetry_event_writer_unittest.js',
103       'webapp/base/js/typecheck_unittest.js',
104       'webapp/base/js/viewport_unittest.js',
105       'webapp/base/js/window_shape_unittest.js',
106       'webapp/base/js/window_message_dispatcher_unittest.js',
107       'webapp/base/js/xhr_event_writer_unittest.js',
108       'webapp/base/js/xhr_unittest.js',
109       'webapp/base/js/xmpp_connection_unittest.js',
110       'webapp/base/js/xmpp_login_handler_unittest.js',
111       'webapp/base/js/xmpp_stream_parser_unittest.js',
112       'webapp/crd/js/apps_v2_migration_unittest.js',
113       'webapp/crd/js/combined_host_list_api_unittest.js',
114       'webapp/crd/js/gcd_client_unittest.js',
115       'webapp/crd/js/gcd_client_with_mock_xhr_unittest.js',
116       'webapp/crd/js/host_controller_unittest.js',
117       'webapp/crd/js/host_daemon_facade_unittest.js',
118       'webapp/crd/js/host_table_entry_unittest.js',
119       'webapp/crd/js/legacy_host_list_api_unittest.js',
120       'webapp/crd/js/menu_button_unittest.js',
121       'webapp/crd/js/mock_xhr_unittest.js',
122     ],
123     'remoting_webapp_unittests_js_mock_files': [
124       'webapp/crd/js/mock_client_plugin.js',
125       'webapp/crd/js/mock_host_daemon_facade.js',
126       'webapp/crd/js/mock_host_list_api.js',
127       'webapp/crd/js/mock_identity.js',
128       'webapp/crd/js/mock_signal_strategy.js',
129       'webapp/js_proto/chrome_mocks.js',
130       'webapp/unittests/sinon_helpers.js',
131       'webapp/crd/js/mock_xhr.js',
132     ],
133     # Prototypes for objects that are not mocked.
134     'remoting_webapp_unittests_js_proto_files': [
135       'webapp/js_proto/chrome_cast_proto.js',
136       'webapp/js_proto/chrome_proto.js',
137       'webapp/js_proto/dom_proto.js',
138       'webapp/js_proto/remoting_proto.js',
139       'webapp/js_proto/sinon_proto.js',
140     ],
141     'remoting_webapp_unittests_all_js_files': [
142       '<@(remoting_webapp_unittests_js_files)',
143       '<@(remoting_webapp_unittests_js_mock_files)',
144       'webapp/unittests/qunit_callbacks.js',
145     ],
146     # All the files needed to run the unittests.
147     'remoting_webapp_unittests_all_files': [
148       'webapp/crd/html/menu_button.css',
149       '<@(remoting_webapp_unittests_all_js_files)',
150     ],
151     'remoting_webapp_unittests_template_main':
152       'webapp/crd/html/template_unittests.html',
154     #
155     # Shared webapp JavaScript file groups.
156     #
158     # Auth (Google account) JavaScript files.
159     'remoting_webapp_shared_js_auth_google_files': [
160       'webapp/base/js/auth_init.js',
161       'webapp/base/js/identity.js',
162       'webapp/base/js/oauth2.js',
163       'webapp/base/js/oauth2_api.js',
164       'webapp/base/js/oauth2_api_impl.js',
165     ],
166     # Client JavaScript files.
167     'remoting_webapp_shared_js_client_files': [
168       'webapp/base/js/activity.js',
169       'webapp/base/js/client_plugin.js',
170       'webapp/base/js/client_plugin_host_desktop_impl.js',
171       'webapp/base/js/client_plugin_impl.js',
172       'webapp/base/js/client_session.js',
173       'webapp/base/js/client_session_factory.js',
174       'webapp/base/js/clipboard.js',
175       'webapp/base/js/connected_view.js',
176       'webapp/base/js/connection_info.js',
177       'webapp/base/js/credentials_provider.js',
178       'webapp/base/js/host_desktop.js',
179       'webapp/base/js/smart_reconnector.js',
180       'webapp/base/js/telemetry_event_writer.js',
181     ],
182     # Remoting core JavaScript files.
183     'remoting_webapp_shared_js_core_files': [
184       'webapp/base/js/application.js',
185       'webapp/base/js/base.js',
186       'webapp/base/js/callstack.js',
187       'webapp/base/js/console_wrapper.js',
188       'webapp/base/js/ipc.js',
189       'webapp/base/js/modal_dialogs.js',
190       'webapp/base/js/platform.js',
191       'webapp/base/js/protocol_extension_manager.js',
192       'webapp/base/js/protocol_extension.js',
193       'webapp/base/js/error.js',
194       'webapp/base/js/plugin_settings.js',
195       'webapp/base/js/suspend_detector.js',
196       'webapp/base/js/typecheck.js',
197       'webapp/base/js/xhr_event_writer.js',
198       'webapp/base/js/window_message_dispatcher.js',
199       'webapp/base/js/xhr.js',
200     ],
201     # Host JavaScript files.
202     'remoting_webapp_shared_js_host_files': [
203       'webapp/base/js/host.js',
204       'webapp/base/js/host_settings.js',
205     ],
206     # Logging and stats JavaScript files.
207     'remoting_webapp_shared_js_logging_files': [
208       'webapp/base/js/chromoting_event.js',
209       'webapp/base/js/logger.js',
210       'webapp/base/js/format_iq.js',
211       'webapp/base/js/log_to_server.js',
212       'webapp/base/js/server_log_entry.js',
213       'webapp/base/js/session_logger.js',
214       'webapp/base/js/stats_accumulator.js',
215     ],
216     # Remoting signaling files.
217     'remoting_webapp_shared_js_signaling_files': [
218       'webapp/base/js/dns_blackhole_checker.js',
219       'webapp/base/js/fallback_signal_strategy.js',
220       'webapp/base/js/signal_strategy.js',
221       'webapp/base/js/tcp_socket.js',
222       'webapp/base/js/wcs_adapter.js',
223       'webapp/base/js/wcs_sandbox_container.js',
224       'webapp/base/js/xmpp_connection.js',
225       'webapp/base/js/xmpp_login_handler.js',
226       'webapp/base/js/xmpp_stream_parser.js',
227     ],
228     # Shared UI JavaScript files.
229     'remoting_webapp_shared_js_ui_files': [
230       'webapp/base/js/connection_dropped_dialog.js',
231       'webapp/base/js/connection_stats.js',
232       'webapp/base/js/l10n.js',
233       'webapp/base/js/ui_mode.js',
234       'webapp/base/js/viewport.js',
235       'webapp/base/js/window_shape.js',
236     ],
238     #
239     # DesktopRemoting webapp JavaScript file groups.
240     #
242     # Auth (apps v1) JavaScript files.
243     # These files aren't included directly from main.html. They are
244     # referenced from the manifest.json file (appsv1 only).
245     'remoting_webapp_js_auth_v1_files': [
246       'webapp/crd/js/cs_third_party_auth_trampoline.js',  # client to host
247       'webapp/crd/js/cs_oauth2_trampoline.js',  # Google account
248     ],
249     # Auth (client to host) JavaScript files.
250     'remoting_webapp_js_auth_client2host_files': [
251       'webapp/crd/js/third_party_host_permissions.js',
252       'webapp/crd/js/third_party_token_fetcher.js',
253     ],
254     # Cast extension handler JavaScript files.
255     'remoting_webapp_js_cast_extension_files': [
256       'webapp/crd/js/cast_extension_handler.js',
257     ],
258     # Client JavaScript files.
259     'remoting_webapp_js_client_files': [
260       'webapp/crd/js/apps_v2_migration.js',
261       'webapp/crd/js/event_handlers.js',
262       'webapp/crd/js/gcd_client.js',
263       'webapp/crd/js/video_frame_recorder.js',
264     ],
265     # Gnubby authentication JavaScript files.
266     'remoting_webapp_js_gnubby_auth_files': [
267       'webapp/crd/js/gnubby_auth_handler.js',
268     ],
269     # Files for controlling the local machine as a host.
270     # Includes both it2me and me2me files.
271     'remoting_webapp_js_host_control_files': [
272       'webapp/crd/js/buffered_signal_strategy.js',
273       'webapp/crd/js/host_controller.js',
274       'webapp/crd/js/host_daemon_facade.js',
275       'webapp/crd/js/host_screen.js',
276       'webapp/crd/js/host_session.js',
277       'webapp/crd/js/host_setup_dialog.js',
278       'webapp/crd/js/host_install_dialog.js',
279       'webapp/crd/js/host_installer.js',
280       'webapp/crd/js/it2me_host_facade.js',
281       'webapp/crd/js/paired_client_manager.js',
282     ],
283     # Files for displaying (in the client) info about available hosts.
284     'remoting_webapp_js_host_display_files': [
285       'webapp/crd/js/host_list.js',
286       'webapp/crd/js/host_list_api.js',
287       'webapp/crd/js/host_table_entry.js',
288       'webapp/crd/js/local_host_section.js',
290       # Must come after host_list_api.js because of an issue with
291       # JSCompiler.  If an implementation of an interface occurs in a
292       # file processed before the interface itself, the @override tag
293       # doesn't always work correctly.
294       'webapp/crd/js/combined_host_list_api.js',
295       'webapp/crd/js/gcd_host_list_api.js',
296       'webapp/crd/js/legacy_host_list_api.js',
297     ],
298     # The CRD-specific JavaScript files required by main.html.
299     'remoting_webapp_crd_js_ui_files': [
300       'webapp/crd/js/bump_scroller.js',
301       'webapp/crd/js/butter_bar.js',
302       'webapp/crd/js/crd_auth_dialog.js',
303       'webapp/crd/js/crd_event_handlers.js',
304       'webapp/crd/js/crd_experimental.js',
305       'webapp/crd/js/desktop_connected_view.js',
306       'webapp/crd/js/desktop_remoting.js',
307       'webapp/crd/js/desktop_remoting_activity.js',
308       'webapp/crd/js/desktop_viewport.js',
309       'webapp/crd/js/feedback.js',
310       'webapp/crd/js/fullscreen.js',
311       'webapp/crd/js/fullscreen_v1.js',
312       'webapp/crd/js/fullscreen_v2.js',
313       'webapp/crd/js/it2me_activity.js',
314       'webapp/crd/js/me2me_activity.js',
315       'webapp/crd/js/menu_button.js',
316       'webapp/crd/js/options_menu.js',
317       'webapp/crd/js/toolbar.js',
318       'webapp/crd/js/window_frame.js',
319     ],
321     #
322     # DesktopRemoting main.html generation files.
323     #
325     'remoting_webapp_template_main':
326       '<(DEPTH)/remoting/webapp/crd/html/template_main.html',
328     # The shared JavaScript files required by main.html.
329     # These files are shared with the unittest target.
330     'remoting_webapp_shared_main_html_js_files': [
331       # Include the core files first as it is required by the other files.
332       # Otherwise, Jscompile will complain.
333       '<@(remoting_webapp_shared_js_core_files)',
334       '<@(remoting_webapp_shared_js_auth_google_files)',
335       '<@(remoting_webapp_shared_js_client_files)',
336       '<@(remoting_webapp_shared_js_host_files)',
337       '<@(remoting_webapp_shared_js_logging_files)',
338       '<@(remoting_webapp_shared_js_signaling_files)',
339       '<@(remoting_webapp_shared_js_ui_files)',
340       '<@(remoting_webapp_js_auth_client2host_files)',
341       '<@(remoting_webapp_js_client_files)',
342       '<@(remoting_webapp_js_gnubby_auth_files)',
343       '<@(remoting_webapp_js_cast_extension_files)',
344       '<@(remoting_webapp_js_host_control_files)',
345       '<@(remoting_webapp_js_host_display_files)',
346     ],
348     # The JS files required by unittest.html.
349     'remoting_webapp_unittest_html_all_js_files': [
350       '<@(remoting_webapp_shared_main_html_js_files)',
351       '<@(remoting_webapp_crd_js_ui_files)',
352     ],
354     # The CRD-specific JavaScript files required by main.html.
355     'remoting_webapp_crd_main_html_all_js_files': [
356       '<@(remoting_webapp_shared_main_html_js_files)',
357       '<@(remoting_webapp_crd_js_ui_files)',
358       'webapp/crd/js/crd_main.js',
359     ],
361     # These template files are used to construct main.html.
362     'remoting_webapp_template_files': [
363       'webapp/base/html/client_plugin.html',
364       'webapp/crd/html/butter_bar.html',
365       'webapp/crd/html/dialog_auth.html',
366       'webapp/crd/html/dialog_client_connect_failed.html',
367       'webapp/crd/html/dialog_client_connecting.html',
368       'webapp/crd/html/dialog_client_host_needs_upgrade.html',
369       'webapp/crd/html/dialog_client_pin_prompt.html',
370       'webapp/crd/html/dialog_client_session_finished.html',
371       'webapp/crd/html/dialog_client_third_party_auth.html',
372       'webapp/crd/html/dialog_client_unconnected.html',
373       'webapp/crd/html/dialog_confirm_host_delete.html',
374       'webapp/crd/html/dialog_connection_history.html',
375       'webapp/crd/html/dialog_host.html',
376       'webapp/crd/html/dialog_host_install.html',
377       'webapp/crd/html/dialog_host_setup.html',
378       'webapp/crd/html/dialog_manage_pairings.html',
379       'webapp/crd/html/dialog_token_refresh_failed.html',
380       'webapp/crd/html/toolbar.html',
381       'webapp/crd/html/ui_header.html',
382       'webapp/crd/html/ui_it2me.html',
383       'webapp/crd/html/ui_me2me.html',
384       'webapp/crd/html/window_frame.html',
385     ],
387     #
388     # Webapp background.html generation files.
389     #
391     'remoting_webapp_template_background':
392       '<(DEPTH)/remoting/webapp/crd/html/template_background.html',
394     # These JS files are specific to the background page and are not part of
395     # the main JS files.
396     'remoting_webapp_background_html_js_files': [
397       'webapp/base/js/chromoting_event.js',
398       'webapp/crd/js/activation_handler.js',
399       'webapp/crd/js/app_launcher.js',
400       'webapp/crd/js/background.js',
401     ],
403     # All the JavaScript files required by background.html.
404     'remoting_webapp_background_html_all_js_files': [
405       '<@(remoting_webapp_background_html_js_files)',
406       'webapp/base/js/base.js',
407       'webapp/base/js/error.js',
408       'webapp/base/js/identity.js',
409       'webapp/base/js/ipc.js',
410       'webapp/base/js/l10n.js',
411       'webapp/base/js/oauth2.js',
412       'webapp/base/js/oauth2_api.js',
413       'webapp/base/js/oauth2_api_impl.js',
414       'webapp/base/js/platform.js',
415       'webapp/base/js/plugin_settings.js',
416       'webapp/base/js/telemetry_event_writer.js',
417       'webapp/base/js/typecheck.js',
418       'webapp/base/js/xhr.js',
419       'webapp/base/js/xhr_event_writer.js',
420       'webapp/crd/js/host_installer.js',
421       'webapp/crd/js/host_session.js',
422       'webapp/crd/js/it2me_host_facade.js',
423     ],
425     #
426     # Webapp wcs_sandbox.html generation files.
427     #
429     'remoting_webapp_template_wcs_sandbox':
430       '<(DEPTH)/remoting/webapp/base/html/template_wcs_sandbox.html',
432     # These JS files are specific to the WCS sandbox page and are not part of
433     # the main JS files.
434     'remoting_webapp_wcs_sandbox_html_js_files': [
435       'webapp/crd/js/wcs.js',
436       'webapp/crd/js/wcs_loader.js',
437       'webapp/crd/js/wcs_sandbox_content.js',
438       'webapp/crd/js/xhr_proxy.js',
439     ],
441     # All the JavaScript files required by wcs_sandbox.html.
442     'remoting_webapp_wcs_sandbox_html_all_js_files': [
443       '<@(remoting_webapp_wcs_sandbox_html_js_files)',
444       'webapp/base/js/error.js',
445       'webapp/base/js/plugin_settings.js',
446     ],
448     #
449     # Webapp message_window.html generation files.
450     #
452     'remoting_webapp_template_message_window':
453       '<(DEPTH)/remoting/webapp/base/html/template_message_window.html',
455     # These JS files are specific to the message window page and are not part of
456     # the main JS files.
457     'remoting_webapp_message_window_html_js_files': [
458       'webapp/base/js/message_window.js',
459     ],
461     # All the JavaScript files required by message_window.html.
462     'remoting_webapp_message_window_html_all_js_files': [
463       '<@(remoting_webapp_message_window_html_js_files)',
464       'webapp/base/js/base.js',
465     ],
467     #
468     # All the JavaScript files required by credits.html
469     #
470     'remoting_webapp_credits_html_all_js_files': [
471       'webapp/base/js/credits_js.js',
472     ],
474     #
475     # Complete webapp JS and resource files.
476     #
478     # All the JavaScript files that are shared by webapps.
479     'remoting_webapp_shared_js_files': [
480       '<@(remoting_webapp_shared_main_html_js_files)',
481       '<@(remoting_webapp_background_html_js_files)',
482       '<@(remoting_webapp_message_window_html_js_files)',
483       '<@(remoting_webapp_wcs_sandbox_html_js_files)',
484       # JS files referenced in manifest.json.
485       '<@(remoting_webapp_js_auth_v1_files)',
486     ],
488     # All the JavaScript files required by DesktopRemoting.
489     'remoting_webapp_crd_js_files': [
490       '<@(remoting_webapp_shared_js_files)',
491       '<@(remoting_webapp_crd_main_html_all_js_files)',
492       '<@(remoting_webapp_credits_html_all_js_files)',
493     ],
495     'remoting_webapp_info_files': [
496       'resources/chromoting16.webp',
497       'resources/chromoting48.webp',
498       'resources/chromoting128.webp',
499     ],
501     # All the resource files required by DesktopRemoting.
502     'remoting_webapp_resource_files': [
503       'resources/disclosure_arrow_down.webp',
504       'resources/disclosure_arrow_right.webp',
505       'resources/drag.webp',
506       'resources/host_setup_instructions.webp',
507       'resources/icon_close.webp',
508       'resources/icon_cross.webp',
509       'resources/icon_disconnect.webp',
510       'resources/icon_fullscreen.webp',
511       'resources/icon_host.webp',
512       'resources/icon_maximize_restore.webp',
513       'resources/icon_minimize.webp',
514       'resources/icon_options.webp',
515       'resources/icon_pencil.webp',
516       'resources/icon_warning.webp',
517       'resources/infographic_my_computers.webp',
518       'resources/infographic_remote_assistance.webp',
519       'resources/plus.webp',
520       'resources/reload.webp',
521       'resources/tick.webp',
522       'webapp/base/html/connection_stats.css',
523       'webapp/base/html/credits_css.css',
524       'webapp/base/html/main.css',
525       'webapp/base/html/message_window.css',
526       'webapp/base/resources/open_sans.css',
527       'webapp/base/resources/open_sans.woff',
528       'webapp/base/resources/spinner.gif',
529       'webapp/crd/html/butter_bar.css',
530       'webapp/crd/html/crd_main.css',
531       'webapp/crd/html/toolbar.css',
532       'webapp/crd/html/menu_button.css',
533       'webapp/crd/html/window_frame.css',
534       'webapp/crd/resources/scale-to-fit.webp',
535     ],
537     'remoting_webapp_crd_files': [
538       '<@(remoting_webapp_info_files)',
539       '<@(remoting_webapp_crd_js_files)',
540       '<@(remoting_webapp_resource_files)',
541     ],
543     # Files that contain localizable strings.
544     'desktop_remoting_webapp_localizable_files': [
545       'webapp/crd/manifest.json.jinja2',
546       '<(remoting_webapp_template_background)',
547       '<(remoting_webapp_template_main)',
548       '<(remoting_webapp_template_message_window)',
549       '<(remoting_webapp_template_wcs_sandbox)',
550       '<@(remoting_webapp_template_files)',
551       '<@(remoting_webapp_crd_js_files)',
552     ],
554   },