blob: e9e3b4db79bb0ea8a74145bd5f3b85835db9e740 [file] [log] [blame]
# Copyright 2018 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//chrome/common/features.gni")
import("//third_party/closure_compiler/compile_js.gni")
import("//tools/grit/grit_rule.gni")
import("//tools/grit/preprocess_if_expr.gni")
import("//tools/polymer/html_to_wrapper.gni")
import("//ui/webui/resources/tools/generate_grd.gni")
preprocess_folder = "preprocessed"
preprocess_manifest = "preprocessed_manifest.json"
preprocess_gen_manifest = "preprocessed_gen_manifest.json"
generate_grd("build_grd") {
grd_prefix = "network_ui"
out_grd = "$target_gen_dir/${grd_prefix}_resources.grd"
input_files = [ "network.html" ]
input_files_base_dir = rebase_path(".", "//")
deps = [
":preprocess",
":preprocess_generated",
]
manifest_files = [
"$target_gen_dir/$preprocess_manifest",
"$target_gen_dir/$preprocess_gen_manifest",
]
}
preprocess_if_expr("preprocess") {
out_folder = "$target_gen_dir/$preprocess_folder"
out_manifest = "$target_gen_dir/$preprocess_manifest"
in_files = [
"network_logs_ui.js",
"network_metrics_ui.js",
"network_state_ui.js",
"network_ui_browser_proxy.js",
"network_ui.js",
"third_party/uPlot.iife.min.js",
"third_party/uPlot.min.css",
]
}
preprocess_if_expr("preprocess_generated") {
deps = [ ":html_wrapper_files" ]
in_folder = target_gen_dir
out_folder = "$target_gen_dir/$preprocess_folder"
out_manifest = "$target_gen_dir/$preprocess_gen_manifest"
in_files = [
"network_logs_ui.html.js",
"network_state_ui.html.js",
"network_ui.html.js",
"network_metrics_ui.html.js",
]
}
grit("resources") {
defines = chrome_grit_defines
# These arguments are needed since the grd is generated at build time.
enable_input_discovery_for_gn_analyze = false
source = "$target_gen_dir/network_ui_resources.grd"
deps = [ ":build_grd" ]
outputs = [
"grit/network_ui_resources.h",
"grit/network_ui_resources_map.cc",
"grit/network_ui_resources_map.h",
"network_ui_resources.pak",
]
output_dir = "$root_gen_dir/chrome"
}
js_type_check("closure_compile") {
is_polymer3 = true
closure_flags = default_closure_args + mojom_js_args
deps = [
":network_logs_ui",
":network_metrics_ui",
":network_state_ui",
":network_ui",
":network_ui_browser_proxy",
]
}
js_library("network_ui") {
deps = [
":network_ui_browser_proxy",
"//ash/webui/common/resources:i18n_behavior",
"//ash/webui/common/resources:load_time_data.m",
"//ash/webui/common/resources/network:onc_mojo",
"//ash/webui/common/resources/network_health:network_diagnostics",
]
}
js_library("network_logs_ui") {
deps = [
":network_ui_browser_proxy",
"//ash/webui/common/resources:i18n_behavior",
]
}
js_library("network_metrics_ui") {
deps = [
":network_ui_browser_proxy",
"//ash/webui/common/resources:i18n_behavior",
]
}
js_library("network_state_ui") {
deps = [
":network_ui_browser_proxy",
"//ash/webui/common/resources/network:mojo_interface_provider",
"//ash/webui/common/resources/network:network_icon",
"//ash/webui/common/resources/network:network_list",
"//ash/webui/common/resources/network:onc_mojo",
"//chromeos/services/network_config/public/mojom:mojom_webui_js",
]
externs_list = chrome_extension_public_externs +
[ "$externs_path/networking_private.js" ]
}
js_library("network_ui_browser_proxy") {
deps = [
"//ash/webui/common/resources:cr.m",
"//ash/webui/common/resources:cr_deprecated",
]
externs_list = [ "$externs_path/chrome_send.js" ]
}
html_to_wrapper("html_wrapper_files") {
in_files = [
"network_logs_ui.html",
"network_state_ui.html",
"network_ui.html",
"network_metrics_ui.html",
]
use_js = true
}