1 # Copyright 2015 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/remoting_webapp_files.gypi
14 # and remoting/app_remoting_webapp_files.gypi.
17 remoting_webapp_js_externs_files = [ "externs/qunit.js" ]
19 # Jscompile proto files.
20 # These provide type information for jscompile.
21 remoting_webapp_js_proto_files = [
22 "js_proto/chrome_proto.js",
23 "js_proto/chrome_cast_proto.js",
24 "js_proto/dom_proto.js",
25 "js_proto/remoting_proto.js",
29 # Webapp browsertest JavaScript files.
33 remoting_webapp_browsertest_js_files = [
34 "browser_test/browser_test.js",
35 "browser_test/bump_scroll_browser_test.js",
36 "browser_test/cancel_pin_browser_test.js",
37 "browser_test/invalid_pin_browser_test.js",
38 "browser_test/it2me_browser_test.js",
39 "browser_test/me2me_browser_test.js",
40 "browser_test/scrollbar_browser_test.js",
41 "browser_test/timeout_waiter.js",
42 "browser_test/unauthenticated_browser_test.js",
43 "browser_test/update_pin_browser_test.js",
47 remoting_webapp_browsertest_js_mock_files = [
48 "crd/js/mock_client_plugin.js",
49 "crd/js/mock_host_list_api.js",
50 "crd/js/mock_identity.js",
51 "crd/js/mock_oauth2_api.js",
52 "crd/js/mock_signal_strategy.js",
54 remoting_webapp_browsertest_js_proto_files = [
55 "js_proto/sinon_proto.js",
56 "js_proto/test_proto.js",
57 ] + remoting_webapp_js_proto_files
59 remoting_webapp_browsertest_all_js_files =
60 remoting_webapp_browsertest_js_files +
61 remoting_webapp_browsertest_js_mock_files
63 remoting_webapp_browsertest_main_html_extra_files =
64 remoting_webapp_browsertest_all_js_files +
65 [ "//third_party/sinonjs/src/sinon.js" ]
68 # Webapp unittest JavaScript files.
71 # These product files are excluded from our JavaScript unittest
72 remoting_webapp_unittests_exclude_js_files = [
73 # background.js is where the onLoad handler is defined, which
74 # makes it the entry point of the background page.
75 "crd/js/background.js",
78 # The unit test cases for the webapp
79 remoting_webapp_unittests_js_files = [
80 # TODO(jrw): Move spy_promise to base.
81 "unittests/spy_promise.js",
82 "unittests/spy_promise_unittest.js",
83 "base/js/base_unittest.js",
84 "base/js/base_event_hook_unittest.js",
85 "base/js/base_inherits_unittest.js",
86 "base/js/callstack_unittest.js",
87 "base/js/client_session_unittest.js",
88 "base/js/client_session_factory_unittest.js",
89 "base/js/console_wrapper_unittest.js",
90 "base/js/dns_blackhole_checker_unittest.js",
91 "base/js/error_unittest.js",
92 "base/js/fallback_signal_strategy_unittest.js",
93 "base/js/identity_unittest.js",
94 "base/js/ipc_unittest.js",
95 "base/js/l10n_unittest.js",
96 "base/js/platform_unittest.js",
97 "base/js/protocol_extension_manager_unittest.js",
98 "base/js/session_logger_unittest.js",
99 "base/js/telemetry_event_writer_unittest.js",
100 "base/js/typecheck_unittest.js",
101 "base/js/viewport_unittest.js",
102 "base/js/window_shape_unittest.js",
103 "base/js/window_message_dispatcher_unittest.js",
104 "base/js/xhr_event_writer_unittest.js",
105 "base/js/xhr_unittest.js",
106 "base/js/xmpp_connection_unittest.js",
107 "base/js/xmpp_login_handler_unittest.js",
108 "base/js/xmpp_stream_parser_unittest.js",
109 "crd/js/apps_v2_migration_unittest.js",
110 "crd/js/combined_host_list_api_unittest.js",
111 "crd/js/gcd_client_unittest.js",
112 "crd/js/gcd_client_with_mock_xhr_unittest.js",
113 "crd/js/host_controller_unittest.js",
114 "crd/js/host_daemon_facade_unittest.js",
115 "crd/js/host_table_entry_unittest.js",
116 "crd/js/legacy_host_list_api_unittest.js",
117 "crd/js/menu_button_unittest.js",
118 "crd/js/mock_xhr_unittest.js",
120 remoting_webapp_unittests_js_mock_files = [
121 "crd/js/mock_client_plugin.js",
122 "crd/js/mock_host_daemon_facade.js",
123 "crd/js/mock_host_list_api.js",
124 "crd/js/mock_identity.js",
125 "crd/js/mock_signal_strategy.js",
126 "js_proto/chrome_mocks.js",
127 "unittests/sinon_helpers.js",
128 "crd/js/mock_xhr.js",
131 # Prototypes for objects that are not mocked.
132 remoting_webapp_unittests_js_proto_files = [
133 "js_proto/chrome_cast_proto.js",
134 "js_proto/chrome_proto.js",
135 "js_proto/dom_proto.js",
136 "js_proto/remoting_proto.js",
137 "js_proto/sinon_proto.js",
139 remoting_webapp_unittests_all_js_files =
140 remoting_webapp_unittests_js_files +
141 remoting_webapp_unittests_js_mock_files + [ "unittests/qunit_callbacks.js" ]
143 # All the files needed to run the unittests.
144 remoting_webapp_unittests_all_files =
145 [ "crd/html/menu_button.css" ] + remoting_webapp_unittests_all_js_files
146 remoting_webapp_unittests_template_main = "crd/html/template_unittests.html"
149 # Shared webapp JavaScript file groups.
152 # Auth (Google account) JavaScript files.
153 remoting_webapp_shared_js_auth_google_files = [
154 "base/js/auth_init.js",
155 "base/js/identity.js",
157 "base/js/oauth2_api.js",
158 "base/js/oauth2_api_impl.js",
161 # Client JavaScript files.
162 remoting_webapp_shared_js_client_files = [
163 "base/js/activity.js",
164 "base/js/client_plugin.js",
165 "base/js/client_plugin_host_desktop_impl.js",
166 "base/js/client_plugin_impl.js",
167 "base/js/client_session.js",
168 "base/js/client_session_factory.js",
169 "base/js/clipboard.js",
170 "base/js/connected_view.js",
171 "base/js/connection_info.js",
172 "base/js/credentials_provider.js",
173 "base/js/experiments.js",
174 "base/js/host_desktop.js",
175 "base/js/smart_reconnector.js",
176 "base/js/telemetry_event_writer.js",
179 # Remoting core JavaScript files.
180 remoting_webapp_shared_js_core_files = [
181 "base/js/application.js",
183 "base/js/callstack.js",
184 "base/js/console_wrapper.js",
186 "base/js/modal_dialogs.js",
187 "base/js/platform.js",
188 "base/js/protocol_extension_manager.js",
189 "base/js/protocol_extension.js",
191 "base/js/plugin_settings.js",
192 "base/js/suspend_detector.js",
193 "base/js/typecheck.js",
194 "base/js/window_message_dispatcher.js",
196 "base/js/xhr_event_writer.js",
199 # Host JavaScript files.
200 remoting_webapp_shared_js_host_files = [
202 "base/js/host_settings.js",
205 # Logging and stats JavaScript files.
206 remoting_webapp_shared_js_logging_files = [
207 "base/js/chromoting_event.js",
208 "base/js/format_iq.js",
209 "base/js/log_to_server.js",
211 "base/js/server_log_entry.js",
212 "base/js/session_logger.js",
213 "base/js/stats_accumulator.js",
216 # Remoting signaling files.
217 remoting_webapp_shared_js_signaling_files = [
218 "base/js/dns_blackhole_checker.js",
219 "base/js/fallback_signal_strategy.js",
220 "base/js/signal_strategy.js",
221 "base/js/tcp_socket.js",
222 "base/js/wcs_adapter.js",
223 "base/js/wcs_sandbox_container.js",
224 "base/js/xmpp_connection.js",
225 "base/js/xmpp_login_handler.js",
226 "base/js/xmpp_stream_parser.js",
229 # UI JavaScript files.
230 remoting_webapp_shared_js_ui_files = [
231 "base/js/connection_dropped_dialog.js",
232 "base/js/connection_stats.js",
234 "base/js/ui_mode.js",
235 "base/js/viewport.js",
236 "base/js/window_shape.js",
240 # DesktopRemoting webapp JavaScript file groups.
243 # Auth (apps v1) JavaScript files.
244 # These files aren"t included directly from main.html. They are
245 # referenced from the manifest.json file (appsv1 only).
246 remoting_webapp_js_auth_v1_files = [
247 "crd/js/cs_third_party_auth_trampoline.js", # client to host
248 "crd/js/cs_oauth2_trampoline.js", # Google account
251 # Auth (client to host) JavaScript files.
252 remoting_webapp_js_auth_client2host_files = [
253 "crd/js/third_party_host_permissions.js",
254 "crd/js/third_party_token_fetcher.js",
257 # Cast extension handler JavaScript files.
258 remoting_webapp_js_cast_extension_files = [ "crd/js/cast_extension_handler.js" ]
260 # Client JavaScript files.
261 remoting_webapp_js_client_files = [
262 "crd/js/apps_v2_migration.js",
263 "crd/js/event_handlers.js",
264 "crd/js/gcd_client.js",
265 "crd/js/video_frame_recorder.js",
268 # Gnubby authentication JavaScript files.
269 remoting_webapp_js_gnubby_auth_files = [ "crd/js/gnubby_auth_handler.js" ]
271 # Files for controlling the local machine as a host.
272 # Includes both it2me and me2me files.
273 remoting_webapp_js_host_control_files = [
274 "crd/js/buffered_signal_strategy.js",
275 "crd/js/host_controller.js",
276 "crd/js/host_daemon_facade.js",
277 "crd/js/host_screen.js",
278 "crd/js/host_session.js",
279 "crd/js/host_setup_dialog.js",
280 "crd/js/host_install_dialog.js",
281 "crd/js/host_installer.js",
282 "crd/js/it2me_host_facade.js",
283 "crd/js/paired_client_manager.js",
286 # Files for displaying (in the client) info about available hosts.
287 remoting_webapp_js_host_display_files = [
288 "crd/js/host_list.js",
289 "crd/js/host_list_api.js",
290 "crd/js/host_table_entry.js",
291 "crd/js/local_host_section.js",
293 # Must come after host_list_api.js because of an issue with
294 # JSCompiler. If an implementation of an interface occurs in a
295 # file processed before the interface itself, the @override tag
296 # doesn't always work correctly.
297 "crd/js/combined_host_list_api.js",
298 "crd/js/gcd_host_list_api.js",
299 "crd/js/legacy_host_list_api.js",
302 # The CRD-specific JavaScript files required by main.html.
303 remoting_webapp_crd_js_ui_files = [
304 "crd/js/bump_scroller.js",
305 "crd/js/butter_bar.js",
306 "crd/js/crd_auth_dialog.js",
307 "crd/js/crd_event_handlers.js",
308 "crd/js/crd_experimental.js",
309 "crd/js/desktop_connected_view.js",
310 "crd/js/desktop_remoting.js",
311 "crd/js/desktop_remoting_activity.js",
312 "crd/js/desktop_viewport.js",
313 "crd/js/feedback.js",
314 "crd/js/fullscreen.js",
315 "crd/js/fullscreen_v1.js",
316 "crd/js/fullscreen_v2.js",
317 "crd/js/it2me_activity.js",
318 "crd/js/me2me_activity.js",
319 "crd/js/menu_button.js",
320 "crd/js/options_menu.js",
322 "crd/js/window_frame.js",
326 # DesktopRemoting main.html generation files.
329 remoting_webapp_template_main = "crd/html/template_main.html"
331 # The shared JavaScript files required by main.html.
332 remoting_webapp_shared_main_html_js_files =
333 # Include the core files first as it is required by the other files.
334 # Otherwise, Jscompile will complain.
335 remoting_webapp_shared_js_core_files +
336 remoting_webapp_shared_js_auth_google_files +
337 remoting_webapp_shared_js_client_files +
338 remoting_webapp_shared_js_host_files +
339 remoting_webapp_shared_js_logging_files +
340 remoting_webapp_shared_js_ui_files +
341 remoting_webapp_shared_js_signaling_files +
342 remoting_webapp_js_auth_client2host_files +
343 remoting_webapp_js_client_files + remoting_webapp_js_gnubby_auth_files +
344 remoting_webapp_js_cast_extension_files +
345 remoting_webapp_js_host_control_files +
346 remoting_webapp_js_host_display_files
348 # Uncomment this line to include browser test files in the web app
349 # to expedite debugging or local development.
350 #+ remoting_webapp_browsertest_all_js_files
352 remoting_webapp_unittest_html_all_js_files =
353 remoting_webapp_shared_main_html_js_files + remoting_webapp_crd_js_ui_files
355 # The CRD-specific JavaScript files required by main.html.
356 remoting_webapp_crd_main_html_all_js_files =
357 remoting_webapp_shared_main_html_js_files +
358 remoting_webapp_crd_js_ui_files + [ "crd/js/crd_main.js" ]
360 # These template files are used to construct main.html.
361 remoting_webapp_template_files = [
362 "base/html/client_plugin.html",
363 "crd/html/butter_bar.html",
364 "crd/html/dialog_auth.html",
365 "crd/html/dialog_client_connect_failed.html",
366 "crd/html/dialog_client_connecting.html",
367 "crd/html/dialog_client_host_needs_upgrade.html",
368 "crd/html/dialog_client_pin_prompt.html",
369 "crd/html/dialog_client_session_finished.html",
370 "crd/html/dialog_client_third_party_auth.html",
371 "crd/html/dialog_client_unconnected.html",
372 "crd/html/dialog_confirm_host_delete.html",
373 "crd/html/dialog_connection_history.html",
374 "crd/html/dialog_host.html",
375 "crd/html/dialog_host_install.html",
376 "crd/html/dialog_host_setup.html",
377 "crd/html/dialog_manage_pairings.html",
378 "crd/html/dialog_token_refresh_failed.html",
379 "crd/html/toolbar.html",
380 "crd/html/ui_header.html",
381 "crd/html/ui_it2me.html",
382 "crd/html/ui_me2me.html",
383 "crd/html/window_frame.html",
387 # DesktopRemoting background.html generation files.
390 remoting_webapp_template_background = "crd/html/template_background.html"
392 # These JS files are specific to the background page and are not part of
394 remoting_webapp_background_html_js_files = [
395 "crd/js/activation_handler.js",
396 "crd/js/app_launcher.js",
397 "crd/js/background.js",
400 # All the JavaScript files required by background.html.
401 remoting_webapp_background_html_all_js_files =
402 remoting_webapp_background_html_js_files
403 remoting_webapp_background_html_all_js_files += [
405 "base/js/chromoting_event.js",
407 "base/js/identity.js",
411 "base/js/oauth2_api.js",
412 "base/js/oauth2_api_impl.js",
413 "base/js/platform.js",
414 "base/js/plugin_settings.js",
415 "base/js/telemetry_event_writer.js",
416 "base/js/typecheck.js",
418 "base/js/xhr_event_writer.js",
419 "crd/js/host_installer.js",
420 "crd/js/host_session.js",
421 "crd/js/it2me_host_facade.js",
425 # DesktopRemoting wcs_sandbox.html generation files.
428 remoting_webapp_template_wcs_sandbox = "base/html/template_wcs_sandbox.html"
430 # These JS files are specific to the WCS sandbox page and are not part of
432 remoting_webapp_wcs_sandbox_html_js_files = [
434 "crd/js/wcs_loader.js",
435 "crd/js/wcs_sandbox_content.js",
436 "crd/js/xhr_proxy.js",
439 # All the JavaScript files required by wcs_sandbox.html.
440 remoting_webapp_wcs_sandbox_html_all_js_files =
441 remoting_webapp_wcs_sandbox_html_js_files
442 remoting_webapp_wcs_sandbox_html_all_js_files += [
444 "base/js/plugin_settings.js",
448 # DesktopRemoting message_window.html generation files.
451 remoting_webapp_template_message_window =
452 "base/html/template_message_window.html"
454 # These JS files are specific to the message window page and are not part of
456 remoting_webapp_message_window_html_js_files = [ "base/js/message_window.js" ]
458 # All the JavaScript files required by message_window.html.
459 remoting_webapp_message_window_html_all_js_files =
460 remoting_webapp_message_window_html_js_files + [ "base/js/base.js" ]
463 # All the JavaScript files required by credits.html
466 remoting_webapp_credits_html_all_js_files = [ "base/js/credits_js.js" ]
469 # DesktopRemoting webapp JS and resource files.
472 # All the JavaScript files that are shared by webapps.
473 remoting_webapp_shared_js_files = remoting_webapp_shared_main_html_js_files +
474 remoting_webapp_background_html_js_files +
475 remoting_webapp_credits_html_all_js_files +
476 remoting_webapp_message_window_html_js_files +
477 remoting_webapp_wcs_sandbox_html_js_files +
478 # JS files referenced in manifest.json.
479 remoting_webapp_js_auth_v1_files
481 # All the JavaScript files required by DesktopRemoting.
482 remoting_webapp_crd_js_files =
483 remoting_webapp_shared_js_files + remoting_webapp_crd_main_html_all_js_files
485 remoting_webapp_info_files = [
486 "../resources/chromoting16.webp",
487 "../resources/chromoting48.webp",
488 "../resources/chromoting128.webp",
491 # All the resource files required by DesktopRemoting.
492 remoting_webapp_resource_files = [
493 "../resources/disclosure_arrow_down.webp",
494 "../resources/disclosure_arrow_right.webp",
495 "../resources/drag.webp",
496 "../resources/host_setup_instructions.webp",
497 "../resources/icon_close.webp",
498 "../resources/icon_cross.webp",
499 "../resources/icon_disconnect.webp",
500 "../resources/icon_fullscreen.webp",
501 "../resources/icon_host.webp",
502 "../resources/icon_maximize_restore.webp",
503 "../resources/icon_minimize.webp",
504 "../resources/icon_options.webp",
505 "../resources/icon_pencil.webp",
506 "../resources/icon_warning.webp",
507 "../resources/infographic_my_computers.webp",
508 "../resources/infographic_remote_assistance.webp",
509 "../resources/plus.webp",
510 "../resources/reload.webp",
511 "../resources/tick.webp",
512 "base/html/connection_stats.css",
513 "base/html/credits_css.css",
514 "base/html/main.css",
515 "base/html/message_window.css",
516 "base/resources/open_sans.css",
517 "base/resources/open_sans.woff",
518 "base/resources/spinner.gif",
519 "crd/html/butter_bar.css",
520 "crd/html/crd_main.css",
521 "crd/html/toolbar.css",
522 "crd/html/menu_button.css",
523 "crd/html/window_frame.css",
524 "crd/resources/scale-to-fit.webp",
527 remoting_webapp_crd_files =
528 remoting_webapp_info_files + remoting_webapp_crd_js_files +
529 remoting_webapp_resource_files
531 # Files that contain localizable strings.
532 desktop_remoting_webapp_localizable_files =
534 "webapp/crd/manifest.json.jinja2",
535 remoting_webapp_template_background,
536 remoting_webapp_template_main,
537 remoting_webapp_template_message_window,
538 remoting_webapp_template_wcs_sandbox,
539 ] + remoting_webapp_template_files + remoting_webapp_crd_js_files
545 ar_shared_resource_files = [
546 "../resources/drag.webp",
547 "app_remoting/html/ar_dialog.css",
548 "app_remoting/html/ar_main.css",
549 "app_remoting/html/cloud_print_dialog.css",
550 "app_remoting/html/context_menu.css",
551 "app_remoting/html/feedback_consent.css",
552 "app_remoting/html/loading_window.css",
553 ] + remoting_webapp_resource_files
556 # AppRemoting main.html generation files.
559 # These template files are used to construct the webapp html files.
560 ar_main_template = "app_remoting/html/template_lg.html"
562 ar_main_template_files = [
563 "base/html/client_plugin.html",
564 "base/html/connection_dropped_dialog.html",
565 "app_remoting/html/context_menu.html",
566 "app_remoting/html/idle_dialog.html",
570 "app_remoting/js/application_context_menu.js",
571 "app_remoting/js/app_connected_view.js",
572 "app_remoting/js/app_remoting.js",
573 "app_remoting/js/app_remoting_activity.js",
574 "app_remoting/js/ar_auth_dialog.js",
575 "app_remoting/js/cloud_print_dialog_container.js",
576 "app_remoting/js/context_menu_adapter.js",
577 "app_remoting/js/context_menu_chrome.js",
578 "app_remoting/js/context_menu_dom.js",
579 "app_remoting/js/drag_and_drop.js",
580 "app_remoting/js/gaia_license_manager.js",
581 "app_remoting/js/idle_detector.js",
582 "app_remoting/js/keyboard_layouts_menu.js",
583 "app_remoting/js/license_manager.js",
584 "app_remoting/js/loading_window.js",
585 "app_remoting/js/submenu_manager.js",
586 "app_remoting/js/window_activation_menu.js",
587 "base/js/message_window_helper.js",
588 "base/js/message_window_manager.js",
589 ] + remoting_webapp_shared_js_auth_google_files +
590 remoting_webapp_shared_js_client_files +
591 remoting_webapp_shared_js_core_files +
592 remoting_webapp_shared_js_host_files +
593 remoting_webapp_shared_js_logging_files +
594 remoting_webapp_shared_js_signaling_files +
595 remoting_webapp_shared_js_ui_files
598 # AppRemoting feedback_consent.html generation files.
601 ar_feedback_consent_template =
602 "app_remoting/html/template_feedback_consent.html"
604 # These JS files are specific to the feedback consent page and are not part
605 # of the main JS files.
606 ar_feedback_consent_html_js_files = [ "app_remoting/js/feedback_consent.js" ]
608 # All the JavaScript files required by feedback_consent.html.
609 ar_feedback_consent_html_all_js_files = [
610 "app_remoting/js/feedback_consent.js",
613 "base/js/identity.js",
614 "base/js/oauth2_api.js",
615 "base/js/oauth2_api_impl.js",
616 "base/js/plugin_settings.js",
621 # The JavaScript files to be injected into the clould print dialog.
622 ar_cloud_print_dialog_js_files =
623 [ "app_remoting/js/cloud_print_dialog/cloud_print_dialog_injected.js" ]
626 # AppRemoting loading_window.html generation files.
629 # Variables for loading_window.html. Note that the JS files are the same as
630 # for message_window.html, and are not duplicated here.
631 ar_loading_window_template = "app_remoting/html/template_loading_window.html"
634 # AppRemoting ar_background.html generation files.
637 ar_background_template = "app_remoting/html/template_background.html"
638 ar_background_html_js_files = [
639 "app_remoting/js/ar_background.js",
640 "base/js/platform.js",
644 # Vendor supplied files.
645 # These need a full path specification because they are referenced from the
646 # webapp directory (ar_sample_app) and from the internal app directory.
649 ar_vendor_js_files = [ "//remoting/webapp/app_remoting/vendor/arv_main.js" ]
651 ar_vendor_html_files = [
652 "//remoting/webapp/app_remoting/vendor/arv_background.html",
653 "//remoting/webapp/app_remoting/vendor/arv_main.html",
654 "//remoting/webapp/app_remoting/vendor/arv_wcs_sandbox.html",
658 ar_main_js_files + ar_feedback_consent_html_js_files +
659 ar_cloud_print_dialog_js_files +
660 remoting_webapp_message_window_html_js_files +
661 remoting_webapp_wcs_sandbox_html_js_files + ar_background_html_js_files +
662 remoting_webapp_credits_html_all_js_files
664 # Files that contain localizable strings.
665 app_remoting_webapp_localizable_files =
668 ar_feedback_consent_template,
669 ar_loading_window_template,
670 remoting_webapp_template_message_window,
671 remoting_webapp_template_wcs_sandbox,
672 ] + ar_main_template_files + ar_all_js_files
674 webapp_js_files = remoting_webapp_unittest_html_all_js_files +
675 remoting_webapp_wcs_sandbox_html_js_files +
676 remoting_webapp_background_html_js_files