Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / remoting / webapp / BUILD.gn
blob3e4754bfe5dfde63c11c88bd2c983beb3b12a268
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.
5 action("html") {
6   script = "build-html.py"
8   remoting_webapp_template_main = "html/template_main.html"
9   remoting_webapp_template_files = [
10     "html/butterbar.html",
11     "html/client_plugin.html",
12     "html/dialog_auth.html",
13     "html/dialog_client_connect_failed.html",
14     "html/dialog_client_connecting.html",
15     "html/dialog_client_host_needs_upgrade.html",
16     "html/dialog_client_pin_prompt.html",
17     "html/dialog_client_session_finished.html",
18     "html/dialog_client_third_party_auth.html",
19     "html/dialog_client_unconnected.html",
20     "html/dialog_confirm_host_delete.html",
21     "html/dialog_connection_history.html",
22     "html/dialog_host.html",
23     "html/dialog_host_install.html",
24     "html/dialog_host_setup.html",
25     "html/dialog_manage_pairings.html",
26     "html/dialog_token_refresh_failed.html",
27     "html/toolbar.html",
28     "html/ui_header.html",
29     "html/ui_it2me.html",
30     "html/ui_me2me.html",
31     "html/window_frame.html",
32   ]
34   # Remoting core JavaScript files.
35   remoting_webapp_js_core_files = [
36     "base.js",
37     "error.js",
38     "event_handlers.js",
39     "plugin_settings.js",
40     # TODO(garykac) Split out UI client stuff from remoting.js.
41     "remoting.js",
42     "typecheck.js",
43     "xhr.js",
44   ]
46   # Auth (client to host) JavaScript files.
47   remoting_webapp_js_auth_client2host_files = [
48     "third_party_host_permissions.js",
49     "third_party_token_fetcher.js",
50   ]
52   # Auth (Google account) JavaScript files.
53   remoting_webapp_js_auth_google_files = [
54     "identity.js",
55     "oauth2.js",
56     "oauth2_api.js",
57   ]
59   # Client JavaScript files.
60   remoting_webapp_js_client_files = [
61     "client_plugin.js",
62     # TODO(garykac) For client_screen:
63     # * Split out pin/access code stuff into separate file.
64     # * Move client logic into session_connector
65     "client_screen.js",
66     "client_session.js",
67     "clipboard.js",
68     "hangout_session.js",
69     "media_source_renderer.js",
70     "session_connector.js",
71     "smart_reconnector.js",
72     "video_frame_recorder.js",
73   ]
75   # gnubby authentication JavaScript files.
76   remoting_webapp_js_gnubby_auth_files = [
77     "gnubby_auth_handler.js",
78   ]
79   # cast extension handler JavaScript files.
80   remoting_webapp_js_cast_extension_files = [
81     "cast_extension_handler.js",
82   ]
84   # Host JavaScript files.
85   # Includes both it2me and me2me files.
86   remoting_webapp_js_host_files = [
87     "host_controller.js",
88     "host_daemon_facade.js",
89     "it2me_host_facade.js",
90     "host_session.js",
91   ]
93   # Logging and stats JavaScript files.
94   remoting_webapp_js_logging_files = [
95     "format_iq.js",
96     "log_to_server.js",
97     "server_log_entry.js",
98     "stats_accumulator.js",
99   ]
101   # UI JavaScript files.
102   remoting_webapp_js_ui_files = [
103     "butter_bar.js",
104     "connection_stats.js",
105     "feedback.js",
106     "fullscreen.js",
107     "fullscreen_v1.js",
108     "fullscreen_v2.js",
109     "l10n.js",
110     "menu_button.js",
111     "options_menu.js",
112     "ui_mode.js",
113     "toolbar.js",
114     "window_frame.js",
115   ]
117   # UI files for controlling the local machine as a host.
118   remoting_webapp_js_ui_host_control_files = [
119     "host_screen.js",
120     "host_setup_dialog.js",
121     "host_install_dialog.js",
122     "host_installer.js",
123     "paired_client_manager.js",
124   ]
126   # UI files for displaying (in the client) info about available hosts.
127   remoting_webapp_js_ui_host_display_files = [
128     "host.js",
129     "host_list.js",
130     "host_settings.js",
131     "host_table_entry.js",
132   ]
134   # Remoting WCS container JavaScript files.
135   remoting_webapp_js_wcs_container_files = [
136     "wcs_sandbox_container.js",
137   ]
139   # Browser test JavaScript files (uncomment if used below).
140   #remoting_webapp_js_browser_test_files = [
141   #  "browser_test/browser_test.js",
142   #  "browser_test/bump_scroll_browser_test.js",
143   #  "browser_test/cancel_pin_browser_test.js",
144   #  "browser_test/invalid_pin_browser_test.js",
145   #  "browser_test/update_pin_browser_test.js",
146   #]
148   # The JavaScript files required by main.html.
149   remoting_webapp_main_html_js_files =
150       # Include the core files first as it is required by the other files.
151       # Otherwise, Jscompile will complain.
152       remoting_webapp_js_core_files +
153       remoting_webapp_js_auth_client2host_files +
154       remoting_webapp_js_auth_google_files +
155       remoting_webapp_js_client_files +
156       remoting_webapp_js_gnubby_auth_files +
157       remoting_webapp_js_cast_extension_files +
158       remoting_webapp_js_host_files +
159       remoting_webapp_js_logging_files +
160       remoting_webapp_js_ui_files +
161       remoting_webapp_js_ui_host_control_files +
162       remoting_webapp_js_ui_host_display_files +
163       remoting_webapp_js_wcs_container_files
164       # Uncomment this line to include browser test files in the web app
165       # to expedite debugging or local development.
166       #+ remoting_webapp_js_browser_test_files
168   inputs = [ remoting_webapp_template_main ] +
169       remoting_webapp_template_files +
170       remoting_webapp_main_html_js_files
172   outputs = [
173     "$root_gen_dir/main.html",
174   ]
176   # Template files are relative to this directory. This passes some template
177   # files to the script, and the script reads templates from the files on disk.
178   # They all have to be relative to the same directory. The GYP build made all
179   # of these relative to the remoting directory, so this does the same.
180   template_rel_dir = "//remoting"
182   # TODO(brettw) It's very bad to put this file named "main" in the root
183   # generated file directory.
184   args = [
185     rebase_path("$root_gen_dir/main.html", template_rel_dir),
186     rebase_path(remoting_webapp_template_main, template_rel_dir),
187   ]
188   args += [ "--template" ] +
189       rebase_path(remoting_webapp_template_files, template_rel_dir)
190   args += [ "--js" ] +
191       rebase_path(remoting_webapp_main_html_js_files, template_rel_dir)
192   args += [ "--dir-for-templates",
193             rebase_path(template_rel_dir, root_build_dir) ]
196 # TODO(GYP) wcs_sandbox.html