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/client_session_unittest.js",
87 "base/js/dns_blackhole_checker_unittest.js",
88 "base/js/error_unittest.js",
89 "base/js/fallback_signal_strategy_unittest.js",
90 "base/js/identity_unittest.js",
91 "base/js/ipc_unittest.js",
92 "base/js/l10n_unittest.js",
93 "base/js/platform_unittest.js",
94 "base/js/protocol_extension_manager_unittest.js",
95 "base/js/session_logger_unittest.js",
96 "base/js/telemetry_event_writer_unittest.js",
97 "base/js/typecheck_unittest.js",
98 "base/js/viewport_unittest.js",
99 "base/js/window_shape_unittest.js",
100 "base/js/window_message_dispatcher_unittest.js",
101 "base/js/xhr_event_writer_unittest.js",
102 "base/js/xhr_unittest.js",
103 "base/js/xmpp_connection_unittest.js",
104 "base/js/xmpp_login_handler_unittest.js",
105 "base/js/xmpp_stream_parser_unittest.js",
106 "crd/js/apps_v2_migration_unittest.js",
107 "crd/js/gcd_client_unittest.js",
108 "crd/js/gcd_client_with_mock_xhr_unittest.js",
109 "crd/js/host_controller_unittest.js",
110 "crd/js/host_daemon_facade_unittest.js",
111 "crd/js/host_table_entry_unittest.js",
112 "crd/js/menu_button_unittest.js",
113 "crd/js/mock_xhr_unittest.js",
115 remoting_webapp_unittests_js_mock_files = [
116 "crd/js/mock_host_daemon_facade.js",
117 "crd/js/mock_signal_strategy.js",
118 "js_proto/chrome_mocks.js",
119 "unittests/sinon_helpers.js",
120 "crd/js/mock_xhr.js",
123 # Prototypes for objects that are not mocked.
124 remoting_webapp_unittests_js_proto_files = [
125 "js_proto/chrome_cast_proto.js",
126 "js_proto/chrome_proto.js",
127 "js_proto/dom_proto.js",
128 "js_proto/remoting_proto.js",
129 "js_proto/sinon_proto.js",
131 remoting_webapp_unittests_all_js_files =
132 remoting_webapp_unittests_js_files +
133 remoting_webapp_unittests_js_mock_files + [ "unittests/qunit_callbacks.js" ]
135 # All the files needed to run the unittests.
136 remoting_webapp_unittests_all_files =
137 [ "crd/html/menu_button.css" ] + remoting_webapp_unittests_all_js_files
138 remoting_webapp_unittests_template_main = "crd/html/template_unittests.html"
141 # Shared webapp JavaScript file groups.
144 # Auth (Google account) JavaScript files.
145 remoting_webapp_shared_js_auth_google_files = [
146 "base/js/auth_init.js",
147 "base/js/identity.js",
149 "base/js/oauth2_api.js",
150 "base/js/oauth2_api_impl.js",
153 # Client JavaScript files.
154 remoting_webapp_shared_js_client_files = [
155 "base/js/activity.js",
156 "base/js/client_plugin.js",
157 "base/js/client_plugin_host_desktop_impl.js",
158 "base/js/client_plugin_impl.js",
159 "base/js/client_session.js",
160 "base/js/client_session_factory.js",
161 "base/js/clipboard.js",
162 "base/js/connected_view.js",
163 "base/js/connection_info.js",
164 "base/js/credentials_provider.js",
165 "base/js/host_desktop.js",
166 "base/js/smart_reconnector.js",
167 "base/js/telemetry_event_writer.js",
170 # Remoting core JavaScript files.
171 remoting_webapp_shared_js_core_files = [
172 "base/js/application.js",
175 "base/js/modal_dialogs.js",
176 "base/js/platform.js",
177 "base/js/protocol_extension_manager.js",
178 "base/js/protocol_extension.js",
180 "base/js/plugin_settings.js",
181 "base/js/suspend_detector.js",
182 "base/js/typecheck.js",
183 "base/js/window_message_dispatcher.js",
187 # Host JavaScript files.
188 remoting_webapp_shared_js_host_files = [
190 "base/js/host_settings.js",
193 # Logging and stats JavaScript files.
194 remoting_webapp_shared_js_logging_files = [
195 "base/js/chromoting_event.js",
196 "base/js/format_iq.js",
197 "base/js/log_to_server.js",
199 "base/js/server_log_entry.js",
200 "base/js/session_logger.js",
201 "base/js/stats_accumulator.js",
204 # Remoting signaling files.
205 remoting_webapp_shared_js_signaling_files = [
206 "base/js/dns_blackhole_checker.js",
207 "base/js/fallback_signal_strategy.js",
208 "base/js/signal_strategy.js",
209 "base/js/tcp_socket.js",
210 "base/js/wcs_adapter.js",
211 "base/js/wcs_sandbox_container.js",
212 "base/js/xmpp_connection.js",
213 "base/js/xmpp_login_handler.js",
214 "base/js/xmpp_stream_parser.js",
217 # UI JavaScript files.
218 remoting_webapp_shared_js_ui_files = [
219 "base/js/connection_dropped_dialog.js",
220 "base/js/connection_stats.js",
222 "base/js/ui_mode.js",
223 "base/js/viewport.js",
224 "base/js/window_shape.js",
228 # DesktopRemoting webapp JavaScript file groups.
231 # Auth (apps v1) JavaScript files.
232 # These files aren"t included directly from main.html. They are
233 # referenced from the manifest.json file (appsv1 only).
234 remoting_webapp_js_auth_v1_files = [
235 "crd/js/cs_third_party_auth_trampoline.js", # client to host
236 "crd/js/cs_oauth2_trampoline.js", # Google account
239 # Auth (client to host) JavaScript files.
240 remoting_webapp_js_auth_client2host_files = [
241 "crd/js/third_party_host_permissions.js",
242 "crd/js/third_party_token_fetcher.js",
245 # Cast extension handler JavaScript files.
246 remoting_webapp_js_cast_extension_files = [ "crd/js/cast_extension_handler.js" ]
248 # Client JavaScript files.
249 remoting_webapp_js_client_files = [
250 "crd/js/apps_v2_migration.js",
251 "crd/js/event_handlers.js",
252 "crd/js/gcd_client.js",
253 "crd/js/video_frame_recorder.js",
256 # Gnubby authentication JavaScript files.
257 remoting_webapp_js_gnubby_auth_files = [ "crd/js/gnubby_auth_handler.js" ]
259 # Files for controlling the local machine as a host.
260 # Includes both it2me and me2me files.
261 remoting_webapp_js_host_control_files = [
262 "crd/js/buffered_signal_strategy.js",
263 "crd/js/host_controller.js",
264 "crd/js/host_daemon_facade.js",
265 "crd/js/host_screen.js",
266 "crd/js/host_session.js",
267 "crd/js/host_setup_dialog.js",
268 "crd/js/host_install_dialog.js",
269 "crd/js/host_installer.js",
270 "crd/js/it2me_host_facade.js",
271 "crd/js/paired_client_manager.js",
274 # Files for displaying (in the client) info about available hosts.
275 remoting_webapp_js_host_display_files = [
276 "crd/js/host_list.js",
277 "crd/js/host_list_api.js",
278 "crd/js/host_table_entry.js",
279 "crd/js/local_host_section.js",
281 # Must come after host_list_api.js because of an issue with
282 # JSCompiler. If an implementation of an interface occurs in a
283 # file processed before the interface itself, the @override tag
284 # doesn't always work correctly.
285 "crd/js/gcd_host_list_api.js",
286 "crd/js/legacy_host_list_api.js",
289 # The CRD-specific JavaScript files required by main.html.
290 remoting_webapp_crd_js_ui_files = [
291 "crd/js/bump_scroller.js",
292 "crd/js/butter_bar.js",
293 "crd/js/crd_auth_dialog.js",
294 "crd/js/crd_event_handlers.js",
295 "crd/js/crd_experimental.js",
296 "crd/js/desktop_connected_view.js",
297 "crd/js/desktop_remoting.js",
298 "crd/js/desktop_remoting_activity.js",
299 "crd/js/desktop_viewport.js",
300 "crd/js/feedback.js",
301 "crd/js/fullscreen.js",
302 "crd/js/fullscreen_v1.js",
303 "crd/js/fullscreen_v2.js",
304 "crd/js/it2me_activity.js",
305 "crd/js/me2me_activity.js",
306 "crd/js/menu_button.js",
307 "crd/js/options_menu.js",
309 "crd/js/window_frame.js",
313 # DesktopRemoting main.html generation files.
316 remoting_webapp_template_main = "crd/html/template_main.html"
318 # The shared JavaScript files required by main.html.
319 remoting_webapp_shared_main_html_js_files =
320 # Include the core files first as it is required by the other files.
321 # Otherwise, Jscompile will complain.
322 remoting_webapp_shared_js_core_files +
323 remoting_webapp_shared_js_auth_google_files +
324 remoting_webapp_shared_js_client_files +
325 remoting_webapp_shared_js_host_files +
326 remoting_webapp_shared_js_logging_files +
327 remoting_webapp_shared_js_ui_files +
328 remoting_webapp_shared_js_signaling_files +
329 remoting_webapp_js_auth_client2host_files +
330 remoting_webapp_js_client_files + remoting_webapp_js_gnubby_auth_files +
331 remoting_webapp_js_cast_extension_files +
332 remoting_webapp_js_host_control_files +
333 remoting_webapp_js_host_display_files
335 # Uncomment this line to include browser test files in the web app
336 # to expedite debugging or local development.
337 #+ remoting_webapp_browsertest_all_js_files
339 remoting_webapp_unittest_html_all_js_files =
340 remoting_webapp_shared_main_html_js_files + remoting_webapp_crd_js_ui_files
342 # The CRD-specific JavaScript files required by main.html.
343 remoting_webapp_crd_main_html_all_js_files =
344 remoting_webapp_shared_main_html_js_files +
345 remoting_webapp_crd_js_ui_files + [ "crd/js/crd_main.js" ]
347 # These template files are used to construct main.html.
348 remoting_webapp_template_files = [
349 "base/html/client_plugin.html",
350 "crd/html/butter_bar.html",
351 "crd/html/dialog_auth.html",
352 "crd/html/dialog_client_connect_failed.html",
353 "crd/html/dialog_client_connecting.html",
354 "crd/html/dialog_client_host_needs_upgrade.html",
355 "crd/html/dialog_client_pin_prompt.html",
356 "crd/html/dialog_client_session_finished.html",
357 "crd/html/dialog_client_third_party_auth.html",
358 "crd/html/dialog_client_unconnected.html",
359 "crd/html/dialog_confirm_host_delete.html",
360 "crd/html/dialog_connection_history.html",
361 "crd/html/dialog_host.html",
362 "crd/html/dialog_host_install.html",
363 "crd/html/dialog_host_setup.html",
364 "crd/html/dialog_manage_pairings.html",
365 "crd/html/dialog_token_refresh_failed.html",
366 "crd/html/toolbar.html",
367 "crd/html/ui_header.html",
368 "crd/html/ui_it2me.html",
369 "crd/html/ui_me2me.html",
370 "crd/html/window_frame.html",
374 # DesktopRemoting background.html generation files.
377 remoting_webapp_template_background = "crd/html/template_background.html"
379 # These JS files are specific to the background page and are not part of
381 remoting_webapp_background_html_js_files = [
382 "crd/js/activation_handler.js",
383 "crd/js/app_launcher.js",
384 "crd/js/background.js",
387 # All the JavaScript files required by background.html.
388 remoting_webapp_background_html_all_js_files =
389 remoting_webapp_background_html_js_files
390 remoting_webapp_background_html_all_js_files += [
392 "base/js/chromoting_event.js",
394 "base/js/identity.js",
398 "base/js/oauth2_api.js",
399 "base/js/oauth2_api_impl.js",
400 "base/js/platform.js",
401 "base/js/plugin_settings.js",
402 "base/js/telemetry_event_writer.js",
403 "base/js/typecheck.js",
405 "base/js/xhr_event_writer.js",
406 "crd/js/host_installer.js",
407 "crd/js/host_session.js",
408 "crd/js/it2me_host_facade.js",
412 # DesktopRemoting wcs_sandbox.html generation files.
415 remoting_webapp_template_wcs_sandbox = "base/html/template_wcs_sandbox.html"
417 # These JS files are specific to the WCS sandbox page and are not part of
419 remoting_webapp_wcs_sandbox_html_js_files = [
421 "crd/js/wcs_loader.js",
422 "crd/js/wcs_sandbox_content.js",
423 "crd/js/xhr_proxy.js",
426 # All the JavaScript files required by wcs_sandbox.html.
427 remoting_webapp_wcs_sandbox_html_all_js_files =
428 remoting_webapp_wcs_sandbox_html_js_files
429 remoting_webapp_wcs_sandbox_html_all_js_files += [
431 "base/js/plugin_settings.js",
435 # DesktopRemoting message_window.html generation files.
438 remoting_webapp_template_message_window =
439 "base/html/template_message_window.html"
441 # These JS files are specific to the message window page and are not part of
443 remoting_webapp_message_window_html_js_files = [ "base/js/message_window.js" ]
445 # All the JavaScript files required by message_window.html.
446 remoting_webapp_message_window_html_all_js_files =
447 remoting_webapp_message_window_html_js_files + [ "base/js/base.js" ]
450 # All the JavaScript files required by credits.html
453 remoting_webapp_credits_html_all_js_files = [ "base/js/credits_js.js" ]
456 # DesktopRemoting webapp JS and resource files.
459 # All the JavaScript files that are shared by webapps.
460 remoting_webapp_shared_js_files = remoting_webapp_shared_main_html_js_files +
461 remoting_webapp_background_html_js_files +
462 remoting_webapp_credits_html_all_js_files +
463 remoting_webapp_message_window_html_js_files +
464 remoting_webapp_wcs_sandbox_html_js_files +
465 # JS files referenced in manifest.json.
466 remoting_webapp_js_auth_v1_files
468 # All the JavaScript files required by DesktopRemoting.
469 remoting_webapp_crd_js_files =
470 remoting_webapp_shared_js_files + remoting_webapp_crd_main_html_all_js_files
472 remoting_webapp_info_files = [
473 "../resources/chromoting16.webp",
474 "../resources/chromoting48.webp",
475 "../resources/chromoting128.webp",
478 # All the resource files required by DesktopRemoting.
479 remoting_webapp_resource_files = [
480 "../resources/disclosure_arrow_down.webp",
481 "../resources/disclosure_arrow_right.webp",
482 "../resources/drag.webp",
483 "../resources/host_setup_instructions.webp",
484 "../resources/icon_close.webp",
485 "../resources/icon_cross.webp",
486 "../resources/icon_disconnect.webp",
487 "../resources/icon_fullscreen.webp",
488 "../resources/icon_host.webp",
489 "../resources/icon_maximize_restore.webp",
490 "../resources/icon_minimize.webp",
491 "../resources/icon_options.webp",
492 "../resources/icon_pencil.webp",
493 "../resources/icon_warning.webp",
494 "../resources/infographic_my_computers.webp",
495 "../resources/infographic_remote_assistance.webp",
496 "../resources/plus.webp",
497 "../resources/reload.webp",
498 "../resources/tick.webp",
499 "base/html/connection_stats.css",
500 "base/html/credits_css.css",
501 "base/html/main.css",
502 "base/html/message_window.css",
503 "base/resources/open_sans.css",
504 "base/resources/open_sans.woff",
505 "base/resources/spinner.gif",
506 "crd/html/butter_bar.css",
507 "crd/html/crd_main.css",
508 "crd/html/toolbar.css",
509 "crd/html/menu_button.css",
510 "crd/html/window_frame.css",
511 "crd/resources/scale-to-fit.webp",
514 remoting_webapp_crd_files =
515 remoting_webapp_info_files + remoting_webapp_crd_js_files +
516 remoting_webapp_resource_files
518 # Files that contain localizable strings.
519 desktop_remoting_webapp_localizable_files =
521 "webapp/crd/manifest.json.jinja2",
522 remoting_webapp_template_background,
523 remoting_webapp_template_main,
524 remoting_webapp_template_message_window,
525 remoting_webapp_template_wcs_sandbox,
526 ] + remoting_webapp_template_files + remoting_webapp_crd_js_files
532 ar_shared_resource_files = [
533 "app_remoting/html/ar_dialog.css",
534 "app_remoting/html/ar_main.css",
535 "app_remoting/html/feedback_consent.css",
536 "app_remoting/html/loading_window.css",
537 "app_remoting/html/context_menu.css",
538 "../resources/drag.webp",
539 ] + remoting_webapp_resource_files
542 # AppRemoting main.html generation files.
545 # These template files are used to construct the webapp html files.
546 ar_main_template = "app_remoting/html/template_lg.html"
548 ar_main_template_files = [
549 "base/html/client_plugin.html",
550 "base/html/connection_dropped_dialog.html",
551 "app_remoting/html/context_menu.html",
552 "app_remoting/html/idle_dialog.html",
556 "app_remoting/js/application_context_menu.js",
557 "app_remoting/js/app_connected_view.js",
558 "app_remoting/js/app_remoting.js",
559 "app_remoting/js/app_remoting_activity.js",
560 "app_remoting/js/ar_auth_dialog.js",
561 "app_remoting/js/context_menu_adapter.js",
562 "app_remoting/js/context_menu_chrome.js",
563 "app_remoting/js/context_menu_dom.js",
564 "app_remoting/js/drag_and_drop.js",
565 "app_remoting/js/gaia_license_manager.js",
566 "app_remoting/js/idle_detector.js",
567 "app_remoting/js/keyboard_layouts_menu.js",
568 "app_remoting/js/license_manager.js",
569 "app_remoting/js/loading_window.js",
570 "app_remoting/js/submenu_manager.js",
571 "app_remoting/js/window_activation_menu.js",
572 "base/js/message_window_helper.js",
573 "base/js/message_window_manager.js",
574 ] + remoting_webapp_shared_js_auth_google_files +
575 remoting_webapp_shared_js_client_files +
576 remoting_webapp_shared_js_core_files +
577 remoting_webapp_shared_js_host_files +
578 remoting_webapp_shared_js_logging_files +
579 remoting_webapp_shared_js_signaling_files +
580 remoting_webapp_shared_js_ui_files
583 # AppRemoting feedback_consent.html generation files.
586 ar_feedback_consent_template =
587 "app_remoting/html/template_feedback_consent.html"
589 # These JS files are specific to the feedback consent page and are not part
590 # of the main JS files.
591 ar_feedback_consent_html_js_files = [ "app_remoting/js/feedback_consent.js" ]
593 # All the JavaScript files required by feedback_consent.html.
594 ar_feedback_consent_html_all_js_files = [
595 "app_remoting/js/feedback_consent.js",
598 "base/js/identity.js",
599 "base/js/oauth2_api.js",
600 "base/js/oauth2_api_impl.js",
601 "base/js/plugin_settings.js",
607 # AppRemoting loading_window.html generation files.
610 # Variables for loading_window.html. Note that the JS files are the same as
611 # for message_window.html, and are not duplicated here.
612 ar_loading_window_template = "app_remoting/html/template_loading_window.html"
615 # AppRemoting ar_background.html generation files.
618 ar_background_template = "app_remoting/html/template_background.html"
619 ar_background_html_js_files = [
620 "app_remoting/js/ar_background.js",
621 "base/js/platform.js",
625 # Vendor supplied files.
626 # These need a full path specification because they are referenced from the
627 # webapp directory (ar_sample_app) and from the internal app directory.
630 ar_vendor_js_files = [ "//remoting/webapp/app_remoting/vendor/arv_main.js" ]
632 ar_vendor_html_files = [
633 "//remoting/webapp/app_remoting/vendor/arv_background.html",
634 "//remoting/webapp/app_remoting/vendor/arv_main.html",
635 "//remoting/webapp/app_remoting/vendor/arv_wcs_sandbox.html",
639 ar_main_js_files + ar_feedback_consent_html_js_files +
640 remoting_webapp_message_window_html_js_files +
641 remoting_webapp_wcs_sandbox_html_js_files + ar_background_html_js_files +
642 remoting_webapp_credits_html_all_js_files
644 # Files that contain localizable strings.
645 app_remoting_webapp_localizable_files =
648 ar_feedback_consent_template,
649 ar_loading_window_template,
650 remoting_webapp_template_message_window,
651 remoting_webapp_template_wcs_sandbox,
652 ] + ar_main_template_files + ar_all_js_files