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 action("html") { 6 script = "build-html.py" 7 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 ] 33 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 ] 45 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 ] 51 52 # Auth (Google account) JavaScript files. 53 remoting_webapp_js_auth_google_files = [ 54 "identity.js", 55 "oauth2.js", 56 "oauth2_api.js", 57 ] 58 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 ] 74 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 ] 83 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 ] 92 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 ] 100 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 ] 116 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 ] 125 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 ] 133 134 # Remoting WCS container JavaScript files. 135 remoting_webapp_js_wcs_container_files = [ 136 "wcs_sandbox_container.js", 137 ] 138 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 #] 147 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 167 168 inputs = [ remoting_webapp_template_main ] + 169 remoting_webapp_template_files + 170 remoting_webapp_main_html_js_files 171 172 outputs = [ 173 "$root_gen_dir/main.html", 174 ] 175 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" 181 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) ] 194 } 195 196 # TODO(GYP) wcs_sandbox.html 197