1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
7 # 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.
19 'remoting_webapp_js_externs_files': [
20 'webapp/externs/qunit.js',
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',
33 # Webapp browsertest JavaScript 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',
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',
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)',
62 'remoting_webapp_browsertest_all_js_files': [
63 '<@(remoting_webapp_browsertest_js_files)',
64 '<@(remoting_webapp_browsertest_js_mock_files)',
66 'remoting_webapp_browsertest_main_html_extra_files': [
67 '<@(remoting_webapp_browsertest_all_js_files)',
68 '../third_party/sinonjs/src/sinon.js',
72 # Webapp unittest JavaScript files.
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',
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_error_cache_unittest.js',
111 'webapp/base/js/xmpp_login_handler_unittest.js',
112 'webapp/base/js/xmpp_stream_parser_unittest.js',
113 'webapp/crd/js/apps_v2_migration_unittest.js',
114 'webapp/crd/js/combined_host_list_api_unittest.js',
115 'webapp/crd/js/gcd_client_unittest.js',
116 'webapp/crd/js/gcd_client_with_mock_xhr_unittest.js',
117 'webapp/crd/js/host_controller_unittest.js',
118 'webapp/crd/js/host_daemon_facade_unittest.js',
119 'webapp/crd/js/host_table_entry_unittest.js',
120 'webapp/crd/js/legacy_host_list_api_unittest.js',
121 'webapp/crd/js/menu_button_unittest.js',
122 'webapp/crd/js/me2me_telemetry_integration_test.js',
123 'webapp/crd/js/mock_xhr_unittest.js',
125 'remoting_webapp_unittests_js_mock_files': [
126 'webapp/crd/js/mock_client_plugin.js',
127 'webapp/crd/js/mock_host_daemon_facade.js',
128 'webapp/crd/js/mock_host_list_api.js',
129 'webapp/crd/js/mock_modal_dialog_factory.js',
130 'webapp/crd/js/mock_identity.js',
131 'webapp/crd/js/mock_signal_strategy.js',
132 'webapp/crd/js/remoting_activity_test_driver.js',
133 'webapp/js_proto/chrome_mocks.js',
134 'webapp/unittests/sinon_helpers.js',
135 'webapp/crd/js/mock_xhr.js',
137 # Prototypes for objects that are not mocked.
138 'remoting_webapp_unittests_js_proto_files': [
139 'webapp/js_proto/chrome_cast_proto.js',
140 'webapp/js_proto/chrome_proto.js',
141 'webapp/js_proto/dom_proto.js',
142 'webapp/js_proto/remoting_proto.js',
143 'webapp/js_proto/sinon_proto.js',
145 'remoting_webapp_unittests_all_js_files': [
146 '<@(remoting_webapp_unittests_js_files)',
147 '<@(remoting_webapp_unittests_js_mock_files)',
148 'webapp/unittests/qunit_callbacks.js',
150 # All the files needed to run the unittests.
151 'remoting_webapp_unittests_all_files': [
152 'webapp/crd/html/menu_button.css',
153 '<@(remoting_webapp_unittests_all_js_files)',
155 'remoting_webapp_unittests_template_main':
156 'webapp/crd/html/template_unittests.html',
159 # Shared webapp JavaScript file groups.
162 # Auth (Google account) JavaScript files.
163 'remoting_webapp_shared_js_auth_google_files': [
164 'webapp/base/js/auth_init.js',
165 'webapp/base/js/identity.js',
166 'webapp/base/js/oauth2.js',
167 'webapp/base/js/oauth2_api.js',
168 'webapp/base/js/oauth2_api_impl.js',
170 # Client JavaScript files.
171 'remoting_webapp_shared_js_client_files': [
172 'webapp/base/js/activity.js',
173 'webapp/base/js/client_plugin.js',
174 'webapp/base/js/client_plugin_host_desktop_impl.js',
175 'webapp/base/js/client_plugin_impl.js',
176 'webapp/base/js/client_session.js',
177 'webapp/base/js/client_session_factory.js',
178 'webapp/base/js/clipboard.js',
179 'webapp/base/js/connected_view.js',
180 'webapp/base/js/connection_info.js',
181 'webapp/base/js/credentials_provider.js',
182 'webapp/base/js/experiments.js',
183 'webapp/base/js/host_desktop.js',
184 'webapp/base/js/smart_reconnector.js',
185 'webapp/base/js/telemetry_event_writer.js',
186 'webapp/base/js/xmpp_error_cache.js',
188 # Remoting core JavaScript files.
189 'remoting_webapp_shared_js_core_files': [
190 'webapp/base/js/application.js',
191 'webapp/base/js/base.js',
192 'webapp/base/js/callstack.js',
193 'webapp/base/js/console_wrapper.js',
194 'webapp/base/js/ipc.js',
195 'webapp/base/js/modal_dialogs.js',
196 'webapp/base/js/platform.js',
197 'webapp/base/js/protocol_extension_manager.js',
198 'webapp/base/js/protocol_extension.js',
199 'webapp/base/js/error.js',
200 'webapp/base/js/plugin_settings.js',
201 'webapp/base/js/suspend_detector.js',
202 'webapp/base/js/typecheck.js',
203 'webapp/base/js/xhr_event_writer.js',
204 'webapp/base/js/window_message_dispatcher.js',
205 'webapp/base/js/xhr.js',
207 # Host JavaScript files.
208 'remoting_webapp_shared_js_host_files': [
209 'webapp/base/js/host.js',
210 'webapp/base/js/host_settings.js',
212 # Logging and stats JavaScript files.
213 'remoting_webapp_shared_js_logging_files': [
214 'webapp/base/js/chromoting_event.js',
215 'webapp/base/js/logger.js',
216 'webapp/base/js/format_iq.js',
217 'webapp/base/js/log_to_server.js',
218 'webapp/base/js/server_log_entry.js',
219 'webapp/base/js/session_logger.js',
220 'webapp/base/js/stats_accumulator.js',
222 # Remoting signaling files.
223 'remoting_webapp_shared_js_signaling_files': [
224 'webapp/base/js/dns_blackhole_checker.js',
225 'webapp/base/js/fallback_signal_strategy.js',
226 'webapp/base/js/signal_strategy.js',
227 'webapp/base/js/tcp_socket.js',
228 'webapp/base/js/wcs_adapter.js',
229 'webapp/base/js/wcs_sandbox_container.js',
230 'webapp/base/js/xmpp_connection.js',
231 'webapp/base/js/xmpp_login_handler.js',
232 'webapp/base/js/xmpp_stream_parser.js',
234 # Shared UI JavaScript files.
235 'remoting_webapp_shared_js_ui_files': [
236 'webapp/base/js/connection_dropped_dialog.js',
237 'webapp/base/js/connection_stats.js',
238 'webapp/base/js/l10n.js',
239 'webapp/base/js/ui_mode.js',
240 'webapp/base/js/viewport.js',
241 'webapp/base/js/window_shape.js',
245 # DesktopRemoting webapp JavaScript file groups.
248 # Auth (apps v1) JavaScript files.
249 # These files aren't included directly from main.html. They are
250 # referenced from the manifest.json file (appsv1 only).
251 'remoting_webapp_js_auth_v1_files': [
252 'webapp/crd/js/cs_third_party_auth_trampoline.js', # client to host
253 'webapp/crd/js/cs_oauth2_trampoline.js', # Google account
255 # Auth (client to host) JavaScript files.
256 'remoting_webapp_js_auth_client2host_files': [
257 'webapp/crd/js/third_party_host_permissions.js',
258 'webapp/crd/js/third_party_token_fetcher.js',
260 # Cast extension handler JavaScript files.
261 'remoting_webapp_js_cast_extension_files': [
262 'webapp/crd/js/cast_extension_handler.js',
264 # Client JavaScript files.
265 'remoting_webapp_js_client_files': [
266 'webapp/crd/js/apps_v2_migration.js',
267 'webapp/crd/js/event_handlers.js',
268 'webapp/crd/js/gcd_client.js',
269 'webapp/crd/js/video_frame_recorder.js',
271 # Gnubby authentication JavaScript files.
272 'remoting_webapp_js_gnubby_auth_files': [
273 'webapp/crd/js/gnubby_auth_handler.js',
275 # Files for controlling the local machine as a host.
276 # Includes both it2me and me2me files.
277 'remoting_webapp_js_host_control_files': [
278 'webapp/crd/js/buffered_signal_strategy.js',
279 'webapp/crd/js/host_controller.js',
280 'webapp/crd/js/host_daemon_facade.js',
281 'webapp/crd/js/host_screen.js',
282 'webapp/crd/js/host_session.js',
283 'webapp/crd/js/host_setup_dialog.js',
284 'webapp/crd/js/host_install_dialog.js',
285 'webapp/crd/js/host_installer.js',
286 'webapp/crd/js/it2me_host_facade.js',
287 'webapp/crd/js/native_message_host_log_message_handler.js',
288 'webapp/crd/js/paired_client_manager.js',
290 # Files for displaying (in the client) info about available hosts.
291 'remoting_webapp_js_host_display_files': [
292 'webapp/crd/js/host_list.js',
293 'webapp/crd/js/host_list_api.js',
294 'webapp/crd/js/host_table_entry.js',
295 'webapp/crd/js/local_host_section.js',
297 # Must come after host_list_api.js because of an issue with
298 # JSCompiler. If an implementation of an interface occurs in a
299 # file processed before the interface itself, the @override tag
300 # doesn't always work correctly.
301 'webapp/crd/js/combined_host_list_api.js',
302 'webapp/crd/js/gcd_host_list_api.js',
303 'webapp/crd/js/legacy_host_list_api.js',
305 # The CRD-specific JavaScript files required by main.html.
306 'remoting_webapp_crd_js_ui_files': [
307 'webapp/crd/js/bump_scroller.js',
308 'webapp/crd/js/butter_bar.js',
309 'webapp/crd/js/crd_auth_dialog.js',
310 'webapp/crd/js/crd_event_handlers.js',
311 'webapp/crd/js/crd_experimental.js',
312 'webapp/crd/js/desktop_connected_view.js',
313 'webapp/crd/js/desktop_remoting.js',
314 'webapp/crd/js/desktop_remoting_activity.js',
315 'webapp/crd/js/desktop_viewport.js',
316 'webapp/crd/js/feedback.js',
317 'webapp/crd/js/fullscreen.js',
318 'webapp/crd/js/fullscreen_v1.js',
319 'webapp/crd/js/fullscreen_v2.js',
320 'webapp/crd/js/it2me_activity.js',
321 'webapp/crd/js/me2me_activity.js',
322 'webapp/crd/js/menu_button.js',
323 'webapp/crd/js/options_menu.js',
324 'webapp/crd/js/toolbar.js',
325 'webapp/crd/js/window_frame.js',
329 # DesktopRemoting main.html generation files.
332 'remoting_webapp_template_main':
333 '<(DEPTH)/remoting/webapp/crd/html/template_main.html',
335 # The shared JavaScript files required by main.html.
336 # These files are shared with the unittest target.
337 'remoting_webapp_shared_main_html_js_files': [
338 # Include the core files first as it is required by the other files.
339 # Otherwise, Jscompile will complain.
340 '<@(remoting_webapp_shared_js_core_files)',
341 '<@(remoting_webapp_shared_js_auth_google_files)',
342 '<@(remoting_webapp_shared_js_client_files)',
343 '<@(remoting_webapp_shared_js_host_files)',
344 '<@(remoting_webapp_shared_js_logging_files)',
345 '<@(remoting_webapp_shared_js_signaling_files)',
346 '<@(remoting_webapp_shared_js_ui_files)',
347 '<@(remoting_webapp_js_auth_client2host_files)',
348 '<@(remoting_webapp_js_client_files)',
349 '<@(remoting_webapp_js_gnubby_auth_files)',
350 '<@(remoting_webapp_js_cast_extension_files)',
351 '<@(remoting_webapp_js_host_control_files)',
352 '<@(remoting_webapp_js_host_display_files)',
355 # The JS files required by unittest.html.
356 'remoting_webapp_unittest_html_all_js_files': [
357 '<@(remoting_webapp_shared_main_html_js_files)',
358 '<@(remoting_webapp_crd_js_ui_files)',
361 # The CRD-specific JavaScript files required by main.html.
362 'remoting_webapp_crd_main_html_all_js_files': [
363 '<@(remoting_webapp_shared_main_html_js_files)',
364 '<@(remoting_webapp_crd_js_ui_files)',
365 'webapp/crd/js/crd_main.js',
368 # These template files are used to construct main.html.
369 'remoting_webapp_template_files': [
370 'webapp/base/html/client_plugin.html',
371 'webapp/crd/html/butter_bar.html',
372 'webapp/crd/html/dialog_auth.html',
373 'webapp/crd/html/dialog_client_connect_failed.html',
374 'webapp/crd/html/dialog_client_connecting.html',
375 'webapp/crd/html/dialog_client_host_needs_upgrade.html',
376 'webapp/crd/html/dialog_client_pin_prompt.html',
377 'webapp/crd/html/dialog_client_session_finished.html',
378 'webapp/crd/html/dialog_client_third_party_auth.html',
379 'webapp/crd/html/dialog_client_unconnected.html',
380 'webapp/crd/html/dialog_confirm_host_delete.html',
381 'webapp/crd/html/dialog_connection_history.html',
382 'webapp/crd/html/dialog_host.html',
383 'webapp/crd/html/dialog_host_install.html',
384 'webapp/crd/html/dialog_host_setup.html',
385 'webapp/crd/html/dialog_manage_pairings.html',
386 'webapp/crd/html/dialog_token_refresh_failed.html',
387 'webapp/crd/html/toolbar.html',
388 'webapp/crd/html/ui_header.html',
389 'webapp/crd/html/ui_it2me.html',
390 'webapp/crd/html/ui_me2me.html',
391 'webapp/crd/html/window_frame.html',
395 # Webapp background.html generation files.
398 'remoting_webapp_template_background':
399 '<(DEPTH)/remoting/webapp/crd/html/template_background.html',
401 # These JS files are specific to the background page and are not part of
403 'remoting_webapp_background_html_js_files': [
404 'webapp/base/js/chromoting_event.js',
405 'webapp/crd/js/activation_handler.js',
406 'webapp/crd/js/app_launcher.js',
407 'webapp/crd/js/background.js',
410 # All the JavaScript files required by background.html.
411 'remoting_webapp_background_html_all_js_files': [
412 '<@(remoting_webapp_background_html_js_files)',
413 'webapp/base/js/base.js',
414 'webapp/base/js/error.js',
415 'webapp/base/js/identity.js',
416 'webapp/base/js/ipc.js',
417 'webapp/base/js/l10n.js',
418 'webapp/base/js/oauth2.js',
419 'webapp/base/js/oauth2_api.js',
420 'webapp/base/js/oauth2_api_impl.js',
421 'webapp/base/js/platform.js',
422 'webapp/base/js/plugin_settings.js',
423 'webapp/base/js/telemetry_event_writer.js',
424 'webapp/base/js/typecheck.js',
425 'webapp/base/js/xhr.js',
426 'webapp/base/js/xhr_event_writer.js',
427 'webapp/crd/js/host_installer.js',
428 'webapp/crd/js/host_session.js',
429 'webapp/crd/js/it2me_host_facade.js',
433 # Webapp wcs_sandbox.html generation files.
436 'remoting_webapp_template_wcs_sandbox':
437 '<(DEPTH)/remoting/webapp/base/html/template_wcs_sandbox.html',
439 # These JS files are specific to the WCS sandbox page and are not part of
441 'remoting_webapp_wcs_sandbox_html_js_files': [
442 'webapp/crd/js/wcs.js',
443 'webapp/crd/js/wcs_loader.js',
444 'webapp/crd/js/wcs_sandbox_content.js',
445 'webapp/crd/js/xhr_proxy.js',
448 # All the JavaScript files required by wcs_sandbox.html.
449 'remoting_webapp_wcs_sandbox_html_all_js_files': [
450 '<@(remoting_webapp_wcs_sandbox_html_js_files)',
451 'webapp/base/js/error.js',
452 'webapp/base/js/plugin_settings.js',
456 # Webapp message_window.html generation files.
459 'remoting_webapp_template_message_window':
460 '<(DEPTH)/remoting/webapp/base/html/template_message_window.html',
462 # These JS files are specific to the message window page and are not part of
464 'remoting_webapp_message_window_html_js_files': [
465 'webapp/base/js/message_window.js',
468 # All the JavaScript files required by message_window.html.
469 'remoting_webapp_message_window_html_all_js_files': [
470 '<@(remoting_webapp_message_window_html_js_files)',
471 'webapp/base/js/base.js',
475 # All the JavaScript files required by credits.html
477 'remoting_webapp_credits_html_all_js_files': [
478 'webapp/base/js/credits_js.js',
482 # Complete webapp JS and resource files.
485 # All the JavaScript files that are shared by webapps.
486 'remoting_webapp_shared_js_files': [
487 '<@(remoting_webapp_shared_main_html_js_files)',
488 '<@(remoting_webapp_background_html_js_files)',
489 '<@(remoting_webapp_message_window_html_js_files)',
490 '<@(remoting_webapp_wcs_sandbox_html_js_files)',
491 # JS files referenced in manifest.json.
492 '<@(remoting_webapp_js_auth_v1_files)',
495 # All the JavaScript files required by DesktopRemoting.
496 'remoting_webapp_crd_js_files': [
497 '<@(remoting_webapp_shared_js_files)',
498 '<@(remoting_webapp_crd_main_html_all_js_files)',
499 '<@(remoting_webapp_credits_html_all_js_files)',
502 'remoting_webapp_info_files': [
503 'resources/chromoting16.webp',
504 'resources/chromoting48.webp',
505 'resources/chromoting128.webp',
508 # All the resource files required by DesktopRemoting.
509 'remoting_webapp_resource_files': [
510 'resources/disclosure_arrow_down.webp',
511 'resources/disclosure_arrow_right.webp',
512 'resources/drag.webp',
513 'resources/host_setup_instructions.webp',
514 'resources/icon_close.webp',
515 'resources/icon_cross.webp',
516 'resources/icon_disconnect.webp',
517 'resources/icon_fullscreen.webp',
518 'resources/icon_host.webp',
519 'resources/icon_maximize_restore.webp',
520 'resources/icon_minimize.webp',
521 'resources/icon_options.webp',
522 'resources/icon_pencil.webp',
523 'resources/icon_warning.webp',
524 'resources/infographic_my_computers.webp',
525 'resources/infographic_remote_assistance.webp',
526 'resources/plus.webp',
527 'resources/reload.webp',
528 'resources/tick.webp',
529 'webapp/base/html/connection_stats.css',
530 'webapp/base/html/credits_css.css',
531 'webapp/base/html/main.css',
532 'webapp/base/html/message_window.css',
533 'webapp/base/resources/open_sans.css',
534 'webapp/base/resources/open_sans.woff',
535 'webapp/base/resources/spinner.gif',
536 'webapp/crd/html/butter_bar.css',
537 'webapp/crd/html/crd_main.css',
538 'webapp/crd/html/toolbar.css',
539 'webapp/crd/html/menu_button.css',
540 'webapp/crd/html/window_frame.css',
541 'webapp/crd/resources/scale-to-fit.webp',
544 'remoting_webapp_crd_files': [
545 '<@(remoting_webapp_info_files)',
546 '<@(remoting_webapp_crd_js_files)',
547 '<@(remoting_webapp_resource_files)',
550 # Files that contain localizable strings.
551 'desktop_remoting_webapp_localizable_files': [
552 'webapp/crd/manifest.json.jinja2',
553 '<(remoting_webapp_template_background)',
554 '<(remoting_webapp_template_main)',
555 '<(remoting_webapp_template_message_window)',
556 '<(remoting_webapp_template_wcs_sandbox)',
557 '<@(remoting_webapp_template_files)',
558 '<@(remoting_webapp_crd_js_files)',