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.
4
5{
6  'variables': {
7    'remoting_webapp_info_files': [
8      'resources/chromoting16.webp',
9      'resources/chromoting48.webp',
10      'resources/chromoting128.webp',
11    ],
12
13    # Jscompile proto files.
14    # These provide type information for jscompile.
15    'remoting_webapp_js_proto_files': [
16      'webapp/js_proto/chrome_proto.js',
17      'webapp/js_proto/console_proto.js',
18      'webapp/js_proto/dom_proto.js',
19      'webapp/js_proto/remoting_proto.js',
20    ],
21
22    # Auth (apps v1) JavaScript files.
23    # These files aren't included directly from main.html. They are
24    # referenced from the manifest.json file (appsv1 only).
25    'remoting_webapp_js_auth_v1_files': [
26      'webapp/cs_third_party_auth_trampoline.js',  # client to host
27      'webapp/cs_oauth2_trampoline.js',  # Google account
28    ],
29    # Auth (client to host) JavaScript files.
30    'remoting_webapp_js_auth_client2host_files': [
31      'webapp/third_party_host_permissions.js',
32      'webapp/third_party_token_fetcher.js',
33    ],
34    # Auth (Google account) JavaScript files.
35    'remoting_webapp_js_auth_google_files': [
36      'webapp/identity.js',
37      'webapp/oauth2.js',
38      'webapp/oauth2_api.js',
39    ],
40    # Client JavaScript files.
41    'remoting_webapp_js_client_files': [
42      'webapp/client_plugin.js',
43      'webapp/client_plugin_impl.js',
44      # TODO(garykac) For client_screen:
45      # * Split out pin/access code stuff into separate file.
46      # * Move client logic into session_connector
47      'webapp/client_screen.js',
48      'webapp/client_session.js',
49      'webapp/clipboard.js',
50      'webapp/hangout_session.js',
51      'webapp/media_source_renderer.js',
52      'webapp/session_connector.js',
53      'webapp/session_connector_impl.js',
54      'webapp/smart_reconnector.js',
55      'webapp/video_frame_recorder.js',
56    ],
57    # Remoting core JavaScript files.
58    'remoting_webapp_js_core_files': [
59      'webapp/base.js',
60      'webapp/error.js',
61      'webapp/event_handlers.js',
62      'webapp/plugin_settings.js',
63      # TODO(garykac) Split out UI client stuff from remoting.js.
64      'webapp/remoting.js',
65      'webapp/typecheck.js',
66      'webapp/xhr.js',
67    ],
68    # Host JavaScript files.
69    # Includes both it2me and me2me files.
70    'remoting_webapp_js_host_files': [
71      'webapp/host_controller.js',
72      'webapp/host_daemon_facade.js',
73      'webapp/it2me_host_facade.js',
74      'webapp/host_session.js',
75    ],
76    # Logging and stats JavaScript files.
77    'remoting_webapp_js_logging_files': [
78      'webapp/format_iq.js',
79      'webapp/log_to_server.js',
80      'webapp/server_log_entry.js',
81      'webapp/stats_accumulator.js',
82    ],
83    # UI JavaScript files.
84    'remoting_webapp_js_ui_files': [
85      'webapp/butter_bar.js',
86      'webapp/connection_stats.js',
87      'webapp/feedback.js',
88      'webapp/fullscreen.js',
89      'webapp/fullscreen_v1.js',
90      'webapp/fullscreen_v2.js',
91      'webapp/l10n.js',
92      'webapp/menu_button.js',
93      'webapp/options_menu.js',
94      'webapp/ui_mode.js',
95      'webapp/toolbar.js',
96      'webapp/window_frame.js',
97    ],
98    # UI files for controlling the local machine as a host.
99    'remoting_webapp_js_ui_host_control_files': [
100      'webapp/host_screen.js',
101      'webapp/host_setup_dialog.js',
102      'webapp/host_install_dialog.js',
103      'webapp/host_installer.js',
104      'webapp/paired_client_manager.js',
105    ],
106    # UI files for displaying (in the client) info about available hosts.
107    'remoting_webapp_js_ui_host_display_files': [
108      'webapp/host.js',
109      'webapp/host_list.js',
110      'webapp/host_settings.js',
111      'webapp/host_table_entry.js',
112    ],
113    # Remoting signaling files.
114    'remoting_webapp_js_signaling_files': [
115      'webapp/signal_strategy.js',
116      'webapp/wcs_adapter.js',
117      'webapp/wcs_sandbox_container.js',
118      'webapp/xmpp_connection.js',
119      'webapp/xmpp_login_handler.js',
120      'webapp/xmpp_stream_parser.js',
121    ],
122    # Remoting WCS sandbox JavaScript files.
123    'remoting_webapp_js_wcs_sandbox_files': [
124      'webapp/wcs.js',
125      'webapp/wcs_loader.js',
126      'webapp/wcs_sandbox_content.js',
127      'webapp/xhr_proxy.js',
128    ],
129    # gnubby authentication JavaScript files.
130    'remoting_webapp_js_gnubby_auth_files': [
131      'webapp/gnubby_auth_handler.js',
132    ],
133    # cast extension handler JavaScript files.
134    'remoting_webapp_js_cast_extension_files': [
135      'webapp/cast_extension_handler.js',
136    ],
137    # browser test JavaScript files.
138    'remoting_webapp_js_browser_test_files': [
139      'webapp/browser_test/browser_test.js',
140      'webapp/browser_test/bump_scroll_browser_test.js',
141      'webapp/browser_test/cancel_pin_browser_test.js',
142      'webapp/browser_test/invalid_pin_browser_test.js',
143      'webapp/browser_test/mock_client_plugin.js',
144      'webapp/browser_test/mock_session_connector.js',
145      'webapp/browser_test/mock_signal_strategy.js',
146      'webapp/browser_test/scrollbar_browser_test.js',
147      'webapp/browser_test/update_pin_browser_test.js',
148    ],
149    # These product files are excluded from our JavaScript unittest
150    'remoting_webapp_unittest_exclude_files': [
151      # background.js is where the onLoad handler is defined, which
152      # makes it the entry point of the background page.
153      'webapp/background/background.js',
154      # event_handlers.js is where the onLoad handler is defined, which
155      # makes it the entry point of the webapp.
156      'webapp/event_handlers.js',
157    ],
158    # The unit test cases for the webapp
159    'remoting_webapp_unittest_js_files': [
160      'webapp/js_proto/chrome_proto.js',
161      'webapp/unittests/chrome_mocks.js',
162      'webapp/unittests/base_unittest.js',
163      'webapp/unittests/it2me_helpee_channel_unittest.js',
164      'webapp/unittests/it2me_helper_channel_unittest.js',
165      'webapp/unittests/it2me_service_unittest.js',
166      'webapp/unittests/l10n_unittest.js',
167      'webapp/unittests/menu_button_unittest.js',
168      'webapp/unittests/xmpp_connection_unittest.js',
169      'webapp/unittests/xmpp_login_handler_unittest.js',
170      'webapp/unittests/xmpp_stream_parser_unittest.js',
171    ],
172    'remoting_webapp_unittest_additional_files': [
173      'webapp/menu_button.css',
174    ],
175    'remoting_webapp_unittest_template_main':
176      'webapp/html/template_unittest.html',
177
178    # The JavaScript files required by main.html.
179    'remoting_webapp_main_html_js_files': [
180      # Include the core files first as it is required by the other files.
181      # Otherwise, Jscompile will complain.
182      '<@(remoting_webapp_js_core_files)',
183      '<@(remoting_webapp_js_auth_client2host_files)',
184      '<@(remoting_webapp_js_auth_google_files)',
185      '<@(remoting_webapp_js_client_files)',
186      '<@(remoting_webapp_js_gnubby_auth_files)',
187      '<@(remoting_webapp_js_cast_extension_files)',
188      '<@(remoting_webapp_js_host_files)',
189      '<@(remoting_webapp_js_logging_files)',
190      '<@(remoting_webapp_js_ui_files)',
191      '<@(remoting_webapp_js_ui_host_control_files)',
192      '<@(remoting_webapp_js_ui_host_display_files)',
193      '<@(remoting_webapp_js_signaling_files)',
194      # Uncomment this line to include browser test files in the web app
195      # to expedite debugging or local development.
196      # '<@(remoting_webapp_js_browser_test_files)'
197    ],
198
199    # The JavaScript files that are used in the background page.
200    'remoting_webapp_background_js_files': [
201      'webapp/base.js',
202      'webapp/client_session.js',
203      'webapp/error.js',
204      'webapp/host_installer.js',
205      'webapp/host_session.js',
206      'webapp/it2me_host_facade.js',
207      'webapp/l10n.js',
208      'webapp/plugin_settings.js',
209      'webapp/typecheck.js',
210      'webapp/background/app_launcher.js',
211      'webapp/background/background.js',
212      'webapp/background/it2me_helpee_channel.js',
213      'webapp/background/it2me_helper_channel.js',
214      'webapp/background/it2me_service.js',
215      'webapp/background/message_window_helper.js',
216      'webapp/background/message_window_manager.js',
217    ],
218
219    # The JavaScript files required by wcs_sandbox.html.
220    'remoting_webapp_wcs_sandbox_html_js_files': [
221      '<@(remoting_webapp_js_wcs_sandbox_files)',
222      'webapp/error.js',
223      'webapp/plugin_settings.js',
224    ],
225
226    # All the JavaScript files required by the webapp.
227    'remoting_webapp_all_js_files': [
228      # JS files for main.html.
229      '<@(remoting_webapp_main_html_js_files)',
230      '<@(remoting_webapp_background_js_files)',
231      # JS files for message_window.html
232      'webapp/background/message_window.js',
233      # JS files for wcs_sandbox.html.
234      # Use r_w_js_wcs_sandbox_files instead of r_w_wcs_sandbox_html_js_files
235      # so that we don't double include error.js and plugin_settings.js.
236      '<@(remoting_webapp_js_wcs_sandbox_files)',
237      # JS files referenced in mainfest.json.
238      '<@(remoting_webapp_js_auth_v1_files)',
239    ],
240
241    'remoting_webapp_resource_files': [
242      'resources/disclosure_arrow_down.webp',
243      'resources/disclosure_arrow_right.webp',
244      'resources/drag.webp',
245      'resources/host_setup_instructions.webp',
246      'resources/icon_close.webp',
247      'resources/icon_cross.webp',
248      'resources/icon_disconnect.webp',
249      'resources/icon_fullscreen.webp',
250      'resources/icon_help.webp',
251      'resources/icon_host.webp',
252      'resources/icon_maximize_restore.webp',
253      'resources/icon_minimize.webp',
254      'resources/icon_options.webp',
255      'resources/icon_pencil.webp',
256      'resources/icon_warning.webp',
257      'resources/infographic_my_computers.webp',
258      'resources/infographic_remote_assistance.webp',
259      'resources/plus.webp',
260      'resources/reload.webp',
261      'resources/tick.webp',
262      'webapp/connection_stats.css',
263      'webapp/html/message_window.html',
264      'webapp/main.css',
265      'webapp/menu_button.css',
266      'webapp/message_window.css',
267      'webapp/open_sans.css',
268      'webapp/open_sans.woff',
269      'webapp/scale-to-fit.webp',
270      'webapp/spinner.gif',
271      'webapp/toolbar.css',
272      'webapp/window_frame.css',
273    ],
274
275    'remoting_webapp_files': [
276      '<@(remoting_webapp_info_files)',
277      '<@(remoting_webapp_all_js_files)',
278      '<@(remoting_webapp_resource_files)',
279    ],
280
281    # These template files are used to construct the webapp html files.
282    'remoting_webapp_template_main':
283      'webapp/html/template_main.html',
284
285    'remoting_webapp_template_wcs_sandbox':
286      'webapp/html/template_wcs_sandbox.html',
287
288    'remoting_webapp_template_background':
289      'webapp/html/template_background.html',
290
291    'remoting_webapp_template_files': [
292      'webapp/html/butterbar.html',
293      'webapp/html/client_plugin.html',
294      'webapp/html/dialog_auth.html',
295      'webapp/html/dialog_client_connect_failed.html',
296      'webapp/html/dialog_client_connecting.html',
297      'webapp/html/dialog_client_host_needs_upgrade.html',
298      'webapp/html/dialog_client_pin_prompt.html',
299      'webapp/html/dialog_client_session_finished.html',
300      'webapp/html/dialog_client_third_party_auth.html',
301      'webapp/html/dialog_client_unconnected.html',
302      'webapp/html/dialog_confirm_host_delete.html',
303      'webapp/html/dialog_connection_history.html',
304      'webapp/html/dialog_host.html',
305      'webapp/html/dialog_host_install.html',
306      'webapp/html/dialog_host_setup.html',
307      'webapp/html/dialog_manage_pairings.html',
308      'webapp/html/dialog_token_refresh_failed.html',
309      'webapp/html/toolbar.html',
310      'webapp/html/ui_header.html',
311      'webapp/html/ui_it2me.html',
312      'webapp/html/ui_me2me.html',
313      'webapp/html/window_frame.html',
314    ],
315
316  },
317}
318