1# Copyright 2018 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 5import("//third_party/closure_compiler/compile_js.gni") 6import("//tools/grit/preprocess_grit.gni") 7import("//ui/webui/resources/tools/generate_grd.gni") 8import("//ui/webui/webui_features.gni") 9 10preprocess_folder = 11 "$root_gen_dir/ui/webui/resources/preprocessed/cr_components" 12preprocess_gen_manifest = "preprocessed_gen_manifest.json" 13preprocess_polymer2_manifest = "preprocessed_polymer2_manifest.json" 14preprocess_src_manifest = "preprocessed_src_manifest.json" 15 16generate_grd("build_grdp") { 17 grd_prefix = "cr_components" 18 out_grd = "$target_gen_dir/${grd_prefix}_resources.grdp" 19 deps = [ ":preprocess" ] 20 manifest_files = [ 21 "$target_gen_dir/$preprocess_gen_manifest", 22 "$target_gen_dir/$preprocess_polymer2_manifest", 23 "$target_gen_dir/$preprocess_src_manifest", 24 ] 25 resource_path_prefix = "cr_components" 26} 27 28group("preprocess") { 29 public_deps = [ 30 ":preprocess_generated", 31 ":preprocess_polymer2", 32 ":preprocess_src", 33 ] 34} 35 36preprocess_grit("preprocess_src") { 37 in_folder = "./" 38 out_folder = "$preprocess_folder" 39 out_manifest = "$target_gen_dir/$preprocess_src_manifest" 40 in_files = [ "customize_themes/browser_proxy.js" ] 41 42 if (use_nss_certs) { 43 in_files += [ 44 "certificate_manager/certificate_manager_types.js", 45 "certificate_manager/certificate_provisioning_browser_proxy.js", 46 "certificate_manager/certificates_browser_proxy.js", 47 ] 48 } 49} 50 51preprocess_grit("preprocess_generated") { 52 deps = [ ":polymer3_elements" ] 53 in_folder = target_gen_dir 54 out_folder = "$preprocess_folder" 55 out_manifest = "$target_gen_dir/$preprocess_gen_manifest" 56 in_files = [ 57 "customize_themes/customize_themes.js", 58 "customize_themes/customize_themes.mojom-lite.js", 59 "customize_themes/theme_icon.js", 60 "managed_footnote/managed_footnote.m.js", 61 "omnibox/cr_autocomplete_match_list.js", 62 ] 63 64 if (use_nss_certs) { 65 in_files += [ 66 "certificate_manager/ca_trust_edit_dialog.js", 67 "certificate_manager/certificate_delete_confirmation_dialog.js", 68 "certificate_manager/certificate_entry.js", 69 "certificate_manager/certificate_list.js", 70 "certificate_manager/certificate_manager.js", 71 "certificate_manager/certificate_password_decryption_dialog.js", 72 "certificate_manager/certificate_password_encryption_dialog.js", 73 "certificate_manager/certificate_provisioning_details_dialog.js", 74 "certificate_manager/certificate_provisioning_entry.js", 75 "certificate_manager/certificate_provisioning_list.js", 76 "certificate_manager/certificates_error_dialog.js", 77 "certificate_manager/certificate_shared_css.js", 78 "certificate_manager/certificate_subentry.js", 79 ] 80 } 81 82 if (is_chromeos) { 83 in_files += [ 84 "chromeos/bluetooth/bluetooth_dialog.m.js", 85 "chromeos/cellular_setup/activation_code_page.m.js", 86 "chromeos/cellular_setup/base_page.m.js", 87 "chromeos/cellular_setup/button_bar.m.js", 88 "chromeos/cellular_setup/cellular_setup_delegate.m.js", 89 "chromeos/cellular_setup/cellular_setup.m.js", 90 "chromeos/cellular_setup/cellular_types.m.js", 91 "chromeos/cellular_setup/esim_flow_ui.m.js", 92 "chromeos/cellular_setup/final_page.m.js", 93 "chromeos/cellular_setup/mojo_interface_provider.m.js", 94 "chromeos/cellular_setup/profile_discovery_list_item.m.js", 95 "chromeos/cellular_setup/profile_discovery_list_page.m.js", 96 "chromeos/cellular_setup/provisioning_page.m.js", 97 "chromeos/cellular_setup/psim_flow_ui.m.js", 98 "chromeos/cellular_setup/setup_selection_flow.m.js", 99 "chromeos/cellular_setup/sim_detect_page.m.js", 100 "chromeos/cellular_setup/subflow_behavior.m.js", 101 "chromeos/cellular_setup/webview_post_util.m.js", 102 "chromeos/network_health/network_diagnostics.m.js", 103 "chromeos/network_health/network_diagnostics_mojo.m.js", 104 "chromeos/network/cr_policy_network_behavior_mojo.m.js", 105 "chromeos/network/cr_policy_network_indicator_mojo.m.js", 106 "chromeos/network/mojo_interface_provider.m.js", 107 "chromeos/network/network_apnlist.m.js", 108 "chromeos/network/network_choose_mobile.m.js", 109 "chromeos/network/network_config_element_behavior.m.js", 110 "chromeos/network/network_config_input.m.js", 111 "chromeos/network/network_config.m.js", 112 "chromeos/network/network_config_select.m.js", 113 "chromeos/network/network_config_toggle.m.js", 114 "chromeos/network/network_icon.m.js", 115 "chromeos/network/network_icons.m.js", 116 "chromeos/network/network_ip_config.m.js", 117 "chromeos/network/network_listener_behavior.m.js", 118 "chromeos/network/network_list_item.m.js", 119 "chromeos/network/network_list.m.js", 120 "chromeos/network/network_list_types.m.js", 121 "chromeos/network/network_nameservers.m.js", 122 "chromeos/network/network_password_input.m.js", 123 "chromeos/network/network_property_list_mojo.m.js", 124 "chromeos/network/network_proxy_exclusions.m.js", 125 "chromeos/network/network_proxy_input.m.js", 126 "chromeos/network/network_proxy.m.js", 127 "chromeos/network/network_select.m.js", 128 "chromeos/network/network_shared_css.m.js", 129 "chromeos/network/network_siminfo.m.js", 130 "chromeos/network/onc_mojo.m.js", 131 "chromeos/quick_unlock/lock_screen_constants.m.js", 132 "chromeos/quick_unlock/pin_keyboard_icon.m.js", 133 "chromeos/quick_unlock/pin_keyboard.m.js", 134 "chromeos/quick_unlock/setup_pin_keyboard.m.js", 135 "chromeos/smb_shares/add_smb_share_dialog.m.js", 136 "chromeos/smb_shares/smb_browser_proxy.m.js", 137 ] 138 } 139} 140 141preprocess_grit("preprocess_polymer2") { 142 in_folder = "./" 143 out_folder = "$preprocess_folder" 144 out_manifest = "$target_gen_dir/$preprocess_polymer2_manifest" 145 in_files = [ 146 "managed_footnote/managed_footnote.html", 147 "managed_footnote/managed_footnote.js", 148 ] 149 if (is_chromeos) { 150 if (!optimize_webui) { 151 in_files += [ 152 "chromeos/bluetooth/bluetooth_dialog.html", 153 "chromeos/bluetooth/bluetooth_dialog.js", 154 "chromeos/network/network_apnlist.html", 155 "chromeos/network/network_apnlist.js", 156 "chromeos/network/network_choose_mobile.html", 157 "chromeos/network/network_choose_mobile.js", 158 "chromeos/network/network_config.html", 159 "chromeos/network/network_config.js", 160 "chromeos/network/network_config_element_behavior.html", 161 "chromeos/network/network_config_element_behavior.js", 162 "chromeos/network/network_config_input.html", 163 "chromeos/network/network_config_input.js", 164 "chromeos/network/network_config_select.html", 165 "chromeos/network/network_config_select.js", 166 "chromeos/network/network_config_toggle.html", 167 "chromeos/network/network_config_toggle.js", 168 "chromeos/network/network_ip_config.html", 169 "chromeos/network/network_ip_config.js", 170 "chromeos/network/network_nameservers.html", 171 "chromeos/network/network_nameservers.js", 172 "chromeos/network/network_password_input.html", 173 "chromeos/network/network_password_input.js", 174 "chromeos/network/network_property_list_mojo.html", 175 "chromeos/network/network_property_list_mojo.js", 176 "chromeos/network/network_proxy.html", 177 "chromeos/network/network_proxy.js", 178 "chromeos/network/network_proxy_exclusions.html", 179 "chromeos/network/network_proxy_exclusions.js", 180 "chromeos/network/network_proxy_input.html", 181 "chromeos/network/network_proxy_input.js", 182 "chromeos/network/network_siminfo.html", 183 "chromeos/network/network_siminfo.js", 184 "chromeos/network/network_shared_css.html", 185 ] 186 } 187 in_files += [ 188 "chromeos/cellular_setup/activation_code_page.html", 189 "chromeos/cellular_setup/activation_code_page.js", 190 "chromeos/cellular_setup/base_page.html", 191 "chromeos/cellular_setup/base_page.js", 192 "chromeos/cellular_setup/button_bar.html", 193 "chromeos/cellular_setup/button_bar.js", 194 "chromeos/cellular_setup/cellular_setup_delegate.html", 195 "chromeos/cellular_setup/cellular_setup_delegate.js", 196 "chromeos/cellular_setup/cellular_setup.html", 197 "chromeos/cellular_setup/cellular_setup.js", 198 "chromeos/cellular_setup/cellular_types.html", 199 "chromeos/cellular_setup/cellular_types.js", 200 "chromeos/cellular_setup/esim_flow_ui.html", 201 "chromeos/cellular_setup/esim_flow_ui.js", 202 "chromeos/cellular_setup/final_page.html", 203 "chromeos/cellular_setup/final_page.js", 204 "chromeos/cellular_setup/mojo_interface_provider.html", 205 "chromeos/cellular_setup/mojo_interface_provider.js", 206 "chromeos/cellular_setup/profile_discovery_list_item.html", 207 "chromeos/cellular_setup/profile_discovery_list_item.js", 208 "chromeos/cellular_setup/profile_discovery_list_page.html", 209 "chromeos/cellular_setup/profile_discovery_list_page.js", 210 "chromeos/cellular_setup/provisioning_page.html", 211 "chromeos/cellular_setup/provisioning_page.js", 212 "chromeos/cellular_setup/psim_flow_ui.html", 213 "chromeos/cellular_setup/psim_flow_ui.js", 214 "chromeos/cellular_setup/setup_selection_flow.html", 215 "chromeos/cellular_setup/setup_selection_flow.js", 216 "chromeos/cellular_setup/sim_detect_page.html", 217 "chromeos/cellular_setup/sim_detect_page.js", 218 "chromeos/cellular_setup/subflow_behavior.html", 219 "chromeos/cellular_setup/subflow_behavior.js", 220 "chromeos/cellular_setup/webview_post_util.html", 221 "chromeos/cellular_setup/webview_post_util.js", 222 "chromeos/multidevice_setup/button_bar.html", 223 "chromeos/multidevice_setup/button_bar.js", 224 "chromeos/multidevice_setup/fake_mojo_service.html", 225 "chromeos/multidevice_setup/fake_mojo_service.js", 226 "chromeos/multidevice_setup/icons.html", 227 "chromeos/multidevice_setup/mojo_api.html", 228 "chromeos/multidevice_setup/mojo_api.js", 229 "chromeos/multidevice_setup/multidevice_setup_browser_proxy.html", 230 "chromeos/multidevice_setup/multidevice_setup_browser_proxy.js", 231 "chromeos/multidevice_setup/multidevice_setup_delegate.html", 232 "chromeos/multidevice_setup/multidevice_setup_delegate.js", 233 "chromeos/multidevice_setup/multidevice_setup.html", 234 "chromeos/multidevice_setup/multidevice_setup.js", 235 "chromeos/multidevice_setup/multidevice_setup_shared_css.html", 236 "chromeos/multidevice_setup/password_page.html", 237 "chromeos/multidevice_setup/password_page.js", 238 "chromeos/multidevice_setup/setup_succeeded_page.html", 239 "chromeos/multidevice_setup/setup_succeeded_page.js", 240 "chromeos/multidevice_setup/start_setup_page.html", 241 "chromeos/multidevice_setup/start_setup_page.js", 242 "chromeos/multidevice_setup/ui_page_container_behavior.html", 243 "chromeos/multidevice_setup/ui_page_container_behavior.js", 244 "chromeos/multidevice_setup/ui_page.html", 245 "chromeos/multidevice_setup/ui_page.js", 246 "chromeos/network/cr_policy_network_behavior_mojo.html", 247 "chromeos/network/cr_policy_network_behavior_mojo.js", 248 "chromeos/network/cr_policy_network_indicator_mojo.html", 249 "chromeos/network/cr_policy_network_indicator_mojo.js", 250 "chromeos/network_health/network_diagnostics.html", 251 "chromeos/network_health/network_diagnostics.js", 252 "chromeos/network_health/network_diagnostics_mojo.html", 253 "chromeos/network_health/network_diagnostics_mojo.js", 254 "chromeos/network_health/network_health_summary.html", 255 "chromeos/network_health/network_health_summary.js", 256 "chromeos/network/mojo_interface_provider.html", 257 "chromeos/network/mojo_interface_provider.js", 258 "chromeos/network/network_icon.html", 259 "chromeos/network/network_icon.js", 260 "chromeos/network/network_icons.html", 261 "chromeos/network/network_listener_behavior.html", 262 "chromeos/network/network_listener_behavior.js", 263 "chromeos/network/network_list.html", 264 "chromeos/network/network_list_item.html", 265 "chromeos/network/network_list_item.js", 266 "chromeos/network/network_list.js", 267 "chromeos/network/network_list_types.html", 268 "chromeos/network/network_list_types.js", 269 "chromeos/network/network_select.html", 270 "chromeos/network/network_select.js", 271 "chromeos/network/onc_mojo.html", 272 "chromeos/network/onc_mojo.js", 273 "chromeos/quick_unlock/lock_screen_constants.html", 274 "chromeos/quick_unlock/lock_screen_constants.js", 275 "chromeos/quick_unlock/pin_keyboard.html", 276 "chromeos/quick_unlock/pin_keyboard_icon.html", 277 "chromeos/quick_unlock/pin_keyboard.js", 278 "chromeos/quick_unlock/setup_pin_keyboard.html", 279 "chromeos/quick_unlock/setup_pin_keyboard.js", 280 "chromeos/smb_shares/add_smb_share_dialog.html", 281 "chromeos/smb_shares/add_smb_share_dialog.js", 282 "chromeos/smb_shares/smb_browser_proxy.html", 283 "chromeos/smb_shares/smb_browser_proxy.js", 284 ] 285 } 286} 287 288group("closure_compile") { 289 deps = [ 290 "certificate_manager:closure_compile_module", 291 "customize_themes:closure_compile", 292 "managed_footnote:closure_compile", 293 "managed_footnote:closure_compile_module", 294 "omnibox:closure_compile", 295 ] 296 297 if (is_chromeos) { 298 deps += [ "chromeos:closure_compile" ] 299 } 300} 301 302group("polymer3_elements") { 303 public_deps = [ 304 "certificate_manager:web_components", 305 "customize_themes:web_components", 306 "managed_footnote:managed_footnote_module", 307 "omnibox:web_components", 308 ] 309 if (is_chromeos) { 310 public_deps += [ "chromeos:polymer3_elements" ] 311 } 312} 313