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_error_cache_unittest.js",
108 "base/js/xmpp_login_handler_unittest.js",
109 "base/js/xmpp_stream_parser_unittest.js",
110 "crd/js/apps_v2_migration_unittest.js",
111 "crd/js/combined_host_list_api_unittest.js",
112 "crd/js/gcd_client_unittest.js",
113 "crd/js/gcd_client_with_mock_xhr_unittest.js",
114 "crd/js/host_controller_unittest.js",
115 "crd/js/host_daemon_facade_unittest.js",
116 "crd/js/host_table_entry_unittest.js",
117 "crd/js/legacy_host_list_api_unittest.js",
118 "crd/js/menu_button_unittest.js",
119 "crd/js/mock_xhr_unittest.js",
121 remoting_webapp_unittests_js_mock_files = [
122 "crd/js/mock_client_plugin.js",
123 "crd/js/mock_host_daemon_facade.js",
124 "crd/js/mock_host_list_api.js",
125 "crd/js/mock_identity.js",
126 "crd/js/mock_signal_strategy.js",
127 "js_proto/chrome_mocks.js",
128 "unittests/sinon_helpers.js",
129 "crd/js/mock_xhr.js",
132 # Prototypes for objects that are not mocked.
133 remoting_webapp_unittests_js_proto_files = [
134 "js_proto/chrome_cast_proto.js",
135 "js_proto/chrome_proto.js",
136 "js_proto/dom_proto.js",
137 "js_proto/remoting_proto.js",
138 "js_proto/sinon_proto.js",
140 remoting_webapp_unittests_all_js_files =
141 remoting_webapp_unittests_js_files +
142 remoting_webapp_unittests_js_mock_files + [ "unittests/qunit_callbacks.js" ]
144 # All the files needed to run the unittests.
145 remoting_webapp_unittests_all_files =
146 [ "crd/html/menu_button.css" ] + remoting_webapp_unittests_all_js_files
147 remoting_webapp_unittests_template_main = "crd/html/template_unittests.html"
150 # Shared webapp JavaScript file groups.
153 # Auth (Google account) JavaScript files.
154 remoting_webapp_shared_js_auth_google_files = [
155 "base/js/auth_init.js",
156 "base/js/identity.js",
158 "base/js/oauth2_api.js",
159 "base/js/oauth2_api_impl.js",
162 # Client JavaScript files.
163 remoting_webapp_shared_js_client_files = [
164 "base/js/activity.js",
165 "base/js/client_plugin.js",
166 "base/js/client_plugin_host_desktop_impl.js",
167 "base/js/client_plugin_impl.js",
168 "base/js/client_session.js",
169 "base/js/client_session_factory.js",
170 "base/js/clipboard.js",
171 "base/js/connected_view.js",
172 "base/js/connection_info.js",
173 "base/js/credentials_provider.js",
174 "base/js/experiments.js",
175 "base/js/host_desktop.js",
176 "base/js/smart_reconnector.js",
177 "base/js/telemetry_event_writer.js",
178 "base/js/xmpp_error_cache.js",
181 # Remoting core JavaScript files.
182 remoting_webapp_shared_js_core_files = [
183 "base/js/application.js",
185 "base/js/callstack.js",
186 "base/js/console_wrapper.js",
188 "base/js/modal_dialogs.js",
189 "base/js/platform.js",
190 "base/js/protocol_extension_manager.js",
191 "base/js/protocol_extension.js",
193 "base/js/plugin_settings.js",
194 "base/js/suspend_detector.js",
195 "base/js/typecheck.js",
196 "base/js/window_message_dispatcher.js",
198 "base/js/xhr_event_writer.js",
201 # Host JavaScript files.
202 remoting_webapp_shared_js_host_files = [
204 "base/js/host_settings.js",
207 # Logging and stats JavaScript files.
208 remoting_webapp_shared_js_logging_files = [
209 "base/js/chromoting_event.js",
210 "base/js/format_iq.js",
212 "base/js/log_to_server.js",
213 "base/js/server_log_entry.js",
214 "base/js/session_logger.js",
215 "base/js/stats_accumulator.js",
218 # Remoting signaling files.
219 remoting_webapp_shared_js_signaling_files = [
220 "base/js/dns_blackhole_checker.js",
221 "base/js/fallback_signal_strategy.js",
222 "base/js/signal_strategy.js",
223 "base/js/tcp_socket.js",
224 "base/js/wcs_adapter.js",
225 "base/js/wcs_sandbox_container.js",
226 "base/js/xmpp_connection.js",
227 "base/js/xmpp_login_handler.js",
228 "base/js/xmpp_stream_parser.js",
231 # UI JavaScript files.
232 remoting_webapp_shared_js_ui_files = [
233 "base/js/connection_dropped_dialog.js",
234 "base/js/connection_stats.js",
236 "base/js/ui_mode.js",
237 "base/js/viewport.js",
238 "base/js/window_shape.js",
242 # DesktopRemoting webapp JavaScript file groups.
245 # Auth (apps v1) JavaScript files.
246 # These files aren"t included directly from main.html. They are
247 # referenced from the manifest.json file (appsv1 only).
248 remoting_webapp_js_auth_v1_files = [
249 "crd/js/cs_third_party_auth_trampoline.js", # client to host
250 "crd/js/cs_oauth2_trampoline.js", # Google account
253 # Auth (client to host) JavaScript files.
254 remoting_webapp_js_auth_client2host_files = [
255 "crd/js/third_party_host_permissions.js",
256 "crd/js/third_party_token_fetcher.js",
259 # Cast extension handler JavaScript files.
260 remoting_webapp_js_cast_extension_files = [ "crd/js/cast_extension_handler.js" ]
262 # Client JavaScript files.
263 remoting_webapp_js_client_files = [
264 "crd/js/apps_v2_migration.js",
265 "crd/js/event_handlers.js",
266 "crd/js/gcd_client.js",
267 "crd/js/video_frame_recorder.js",
270 # Gnubby authentication JavaScript files.
271 remoting_webapp_js_gnubby_auth_files = [ "crd/js/gnubby_auth_handler.js" ]
273 # Files for controlling the local machine as a host.
274 # Includes both it2me and me2me files.
275 remoting_webapp_js_host_control_files = [
276 "crd/js/buffered_signal_strategy.js",
277 "crd/js/host_controller.js",
278 "crd/js/host_daemon_facade.js",
279 "crd/js/host_screen.js",
280 "crd/js/host_session.js",
281 "crd/js/host_setup_dialog.js",
282 "crd/js/host_install_dialog.js",
283 "crd/js/host_installer.js",
284 "crd/js/it2me_host_facade.js",
285 "crd/js/native_message_host_log_message_handler.js",
286 "crd/js/paired_client_manager.js",
289 # Files for displaying (in the client) info about available hosts.
290 remoting_webapp_js_host_display_files = [
291 "crd/js/host_list.js",
292 "crd/js/host_list_api.js",
293 "crd/js/host_table_entry.js",
294 "crd/js/local_host_section.js",
296 # Must come after host_list_api.js because of an issue with
297 # JSCompiler. If an implementation of an interface occurs in a
298 # file processed before the interface itself, the @override tag
299 # doesn't always work correctly.
300 "crd/js/combined_host_list_api.js",
301 "crd/js/gcd_host_list_api.js",
302 "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 "crd/js/bump_scroller.js",
308 "crd/js/butter_bar.js",
309 "crd/js/crd_auth_dialog.js",
310 "crd/js/crd_event_handlers.js",
311 "crd/js/crd_experimental.js",
312 "crd/js/desktop_connected_view.js",
313 "crd/js/desktop_remoting.js",
314 "crd/js/desktop_remoting_activity.js",
315 "crd/js/desktop_viewport.js",
316 "crd/js/feedback.js",
317 "crd/js/fullscreen.js",
318 "crd/js/fullscreen_v1.js",
319 "crd/js/fullscreen_v2.js",
320 "crd/js/it2me_activity.js",
321 "crd/js/me2me_activity.js",
322 "crd/js/menu_button.js",
323 "crd/js/options_menu.js",
325 "crd/js/window_frame.js",
329 # DesktopRemoting main.html generation files.
332 remoting_webapp_template_main = "crd/html/template_main.html"
334 # The shared JavaScript files required by main.html.
335 remoting_webapp_shared_main_html_js_files =
336 # Include the core files first as it is required by the other files.
337 # Otherwise, Jscompile will complain.
338 remoting_webapp_shared_js_core_files +
339 remoting_webapp_shared_js_auth_google_files +
340 remoting_webapp_shared_js_client_files +
341 remoting_webapp_shared_js_host_files +
342 remoting_webapp_shared_js_logging_files +
343 remoting_webapp_shared_js_ui_files +
344 remoting_webapp_shared_js_signaling_files +
345 remoting_webapp_js_auth_client2host_files +
346 remoting_webapp_js_client_files + remoting_webapp_js_gnubby_auth_files +
347 remoting_webapp_js_cast_extension_files +
348 remoting_webapp_js_host_control_files +
349 remoting_webapp_js_host_display_files
351 # Uncomment this line to include browser test files in the web app
352 # to expedite debugging or local development.
353 #+ remoting_webapp_browsertest_all_js_files
355 remoting_webapp_unittest_html_all_js_files =
356 remoting_webapp_shared_main_html_js_files + remoting_webapp_crd_js_ui_files
358 # The CRD-specific JavaScript files required by main.html.
359 remoting_webapp_crd_main_html_all_js_files =
360 remoting_webapp_shared_main_html_js_files +
361 remoting_webapp_crd_js_ui_files + [ "crd/js/crd_main.js" ]
363 # These template files are used to construct main.html.
364 remoting_webapp_template_files = [
365 "base/html/client_plugin.html",
366 "crd/html/butter_bar.html",
367 "crd/html/dialog_auth.html",
368 "crd/html/dialog_client_connect_failed.html",
369 "crd/html/dialog_client_connecting.html",
370 "crd/html/dialog_client_host_needs_upgrade.html",
371 "crd/html/dialog_client_pin_prompt.html",
372 "crd/html/dialog_client_session_finished.html",
373 "crd/html/dialog_client_third_party_auth.html",
374 "crd/html/dialog_client_unconnected.html",
375 "crd/html/dialog_confirm_host_delete.html",
376 "crd/html/dialog_connection_history.html",
377 "crd/html/dialog_host.html",
378 "crd/html/dialog_host_install.html",
379 "crd/html/dialog_host_setup.html",
380 "crd/html/dialog_manage_pairings.html",
381 "crd/html/dialog_token_refresh_failed.html",
382 "crd/html/toolbar.html",
383 "crd/html/ui_header.html",
384 "crd/html/ui_it2me.html",
385 "crd/html/ui_me2me.html",
386 "crd/html/window_frame.html",
390 # DesktopRemoting background.html generation files.
393 remoting_webapp_template_background = "crd/html/template_background.html"
395 # These JS files are specific to the background page and are not part of
397 remoting_webapp_background_html_js_files = [
398 "crd/js/activation_handler.js",
399 "crd/js/app_launcher.js",
400 "crd/js/background.js",
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 remoting_webapp_background_html_all_js_files += [
408 "base/js/chromoting_event.js",
410 "base/js/identity.js",
414 "base/js/oauth2_api.js",
415 "base/js/oauth2_api_impl.js",
416 "base/js/platform.js",
417 "base/js/plugin_settings.js",
418 "base/js/telemetry_event_writer.js",
419 "base/js/typecheck.js",
421 "base/js/xhr_event_writer.js",
422 "crd/js/host_installer.js",
423 "crd/js/host_session.js",
424 "crd/js/it2me_host_facade.js",
428 # DesktopRemoting wcs_sandbox.html generation files.
431 remoting_webapp_template_wcs_sandbox = "base/html/template_wcs_sandbox.html"
433 # These JS files are specific to the WCS sandbox page and are not part of
435 remoting_webapp_wcs_sandbox_html_js_files = [
437 "crd/js/wcs_loader.js",
438 "crd/js/wcs_sandbox_content.js",
439 "crd/js/xhr_proxy.js",
442 # All the JavaScript files required by wcs_sandbox.html.
443 remoting_webapp_wcs_sandbox_html_all_js_files =
444 remoting_webapp_wcs_sandbox_html_js_files
445 remoting_webapp_wcs_sandbox_html_all_js_files += [
447 "base/js/plugin_settings.js",
451 # DesktopRemoting message_window.html generation files.
454 remoting_webapp_template_message_window =
455 "base/html/template_message_window.html"
457 # These JS files are specific to the message window page and are not part of
459 remoting_webapp_message_window_html_js_files = [ "base/js/message_window.js" ]
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 + [ "base/js/base.js" ]
466 # All the JavaScript files required by credits.html
469 remoting_webapp_credits_html_all_js_files = [ "base/js/credits_js.js" ]
472 # DesktopRemoting webapp JS and resource files.
475 # All the JavaScript files that are shared by webapps.
476 remoting_webapp_shared_js_files = remoting_webapp_shared_main_html_js_files +
477 remoting_webapp_background_html_js_files +
478 remoting_webapp_credits_html_all_js_files +
479 remoting_webapp_message_window_html_js_files +
480 remoting_webapp_wcs_sandbox_html_js_files +
481 # JS files referenced in manifest.json.
482 remoting_webapp_js_auth_v1_files
484 # All the JavaScript files required by DesktopRemoting.
485 remoting_webapp_crd_js_files =
486 remoting_webapp_shared_js_files + remoting_webapp_crd_main_html_all_js_files
488 remoting_webapp_info_files = [
489 "../resources/chromoting16.webp",
490 "../resources/chromoting48.webp",
491 "../resources/chromoting128.webp",
494 # All the resource files required by DesktopRemoting.
495 remoting_webapp_resource_files = [
496 "../resources/disclosure_arrow_down.webp",
497 "../resources/disclosure_arrow_right.webp",
498 "../resources/drag.webp",
499 "../resources/host_setup_instructions.webp",
500 "../resources/icon_close.webp",
501 "../resources/icon_cross.webp",
502 "../resources/icon_disconnect.webp",
503 "../resources/icon_fullscreen.webp",
504 "../resources/icon_host.webp",
505 "../resources/icon_maximize_restore.webp",
506 "../resources/icon_minimize.webp",
507 "../resources/icon_options.webp",
508 "../resources/icon_pencil.webp",
509 "../resources/icon_warning.webp",
510 "../resources/infographic_my_computers.webp",
511 "../resources/infographic_remote_assistance.webp",
512 "../resources/plus.webp",
513 "../resources/reload.webp",
514 "../resources/tick.webp",
515 "base/html/connection_stats.css",
516 "base/html/credits_css.css",
517 "base/html/main.css",
518 "base/html/message_window.css",
519 "base/resources/open_sans.css",
520 "base/resources/open_sans.woff",
521 "base/resources/spinner.gif",
522 "crd/html/butter_bar.css",
523 "crd/html/crd_main.css",
524 "crd/html/toolbar.css",
525 "crd/html/menu_button.css",
526 "crd/html/window_frame.css",
527 "crd/resources/scale-to-fit.webp",
530 remoting_webapp_crd_files =
531 remoting_webapp_info_files + remoting_webapp_crd_js_files +
532 remoting_webapp_resource_files
534 # Files that contain localizable strings.
535 desktop_remoting_webapp_localizable_files =
537 "webapp/crd/manifest.json.jinja2",
538 remoting_webapp_template_background,
539 remoting_webapp_template_main,
540 remoting_webapp_template_message_window,
541 remoting_webapp_template_wcs_sandbox,
542 ] + remoting_webapp_template_files + remoting_webapp_crd_js_files
548 ar_shared_resource_files = [
549 "../resources/drag.webp",
550 "app_remoting/html/ar_dialog.css",
551 "app_remoting/html/ar_main.css",
552 "app_remoting/html/cloud_print_dialog.css",
553 "app_remoting/html/context_menu.css",
554 "app_remoting/html/feedback_consent.css",
555 "app_remoting/html/loading_window.css",
556 ] + remoting_webapp_resource_files
559 # AppRemoting main.html generation files.
562 # These template files are used to construct the webapp html files.
563 ar_main_template = "app_remoting/html/template_lg.html"
565 ar_main_template_files = [
566 "base/html/client_plugin.html",
567 "base/html/connection_dropped_dialog.html",
568 "app_remoting/html/context_menu.html",
569 "app_remoting/html/idle_dialog.html",
573 "app_remoting/js/application_context_menu.js",
574 "app_remoting/js/app_connected_view.js",
575 "app_remoting/js/app_remoting.js",
576 "app_remoting/js/app_remoting_activity.js",
577 "app_remoting/js/ar_auth_dialog.js",
578 "app_remoting/js/cloud_print_dialog_container.js",
579 "app_remoting/js/context_menu_adapter.js",
580 "app_remoting/js/context_menu_chrome.js",
581 "app_remoting/js/context_menu_dom.js",
582 "app_remoting/js/drag_and_drop.js",
583 "app_remoting/js/gaia_license_manager.js",
584 "app_remoting/js/idle_detector.js",
585 "app_remoting/js/keyboard_layouts_menu.js",
586 "app_remoting/js/license_manager.js",
587 "app_remoting/js/loading_window.js",
588 "app_remoting/js/submenu_manager.js",
589 "app_remoting/js/window_activation_menu.js",
590 "base/js/message_window_helper.js",
591 "base/js/message_window_manager.js",
592 ] + remoting_webapp_shared_js_auth_google_files +
593 remoting_webapp_shared_js_client_files +
594 remoting_webapp_shared_js_core_files +
595 remoting_webapp_shared_js_host_files +
596 remoting_webapp_shared_js_logging_files +
597 remoting_webapp_shared_js_signaling_files +
598 remoting_webapp_shared_js_ui_files
601 # AppRemoting feedback_consent.html generation files.
604 ar_feedback_consent_template =
605 "app_remoting/html/template_feedback_consent.html"
607 # These JS files are specific to the feedback consent page and are not part
608 # of the main JS files.
609 ar_feedback_consent_html_js_files = [ "app_remoting/js/feedback_consent.js" ]
611 # All the JavaScript files required by feedback_consent.html.
612 ar_feedback_consent_html_all_js_files = [
613 "app_remoting/js/feedback_consent.js",
616 "base/js/identity.js",
617 "base/js/oauth2_api.js",
618 "base/js/oauth2_api_impl.js",
619 "base/js/plugin_settings.js",
624 # The JavaScript files to be injected into the clould print dialog.
625 ar_cloud_print_dialog_js_files =
626 [ "app_remoting/js/cloud_print_dialog/cloud_print_dialog_injected.js" ]
629 # AppRemoting loading_window.html generation files.
632 # Variables for loading_window.html. Note that the JS files are the same as
633 # for message_window.html, and are not duplicated here.
634 ar_loading_window_template = "app_remoting/html/template_loading_window.html"
637 # AppRemoting ar_background.html generation files.
640 ar_background_template = "app_remoting/html/template_background.html"
641 ar_background_html_js_files = [
642 "app_remoting/js/ar_background.js",
643 "base/js/platform.js",
647 # Vendor supplied files.
648 # These need a full path specification because they are referenced from the
649 # webapp directory (ar_sample_app) and from the internal app directory.
652 ar_vendor_js_files = [ "//remoting/webapp/app_remoting/vendor/arv_main.js" ]
654 ar_vendor_html_files = [
655 "//remoting/webapp/app_remoting/vendor/arv_background.html",
656 "//remoting/webapp/app_remoting/vendor/arv_main.html",
657 "//remoting/webapp/app_remoting/vendor/arv_wcs_sandbox.html",
661 ar_main_js_files + ar_feedback_consent_html_js_files +
662 ar_cloud_print_dialog_js_files +
663 remoting_webapp_message_window_html_js_files +
664 remoting_webapp_wcs_sandbox_html_js_files + ar_background_html_js_files +
665 remoting_webapp_credits_html_all_js_files
667 # Files that contain localizable strings.
668 app_remoting_webapp_localizable_files =
671 ar_feedback_consent_template,
672 ar_loading_window_template,
673 remoting_webapp_template_message_window,
674 remoting_webapp_template_wcs_sandbox,
675 ] + ar_main_template_files + ar_all_js_files
677 webapp_js_files = remoting_webapp_unittest_html_all_js_files +
678 remoting_webapp_wcs_sandbox_html_js_files +
679 remoting_webapp_background_html_js_files