blob: 76fa0dffe5e8bf8f8bf8d44f0da80612a3ca452d [file] [log] [blame]
# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//third_party/closure_compiler/compile_js.gni")
import("//tools/grit/grit_rule.gni")
import("//tools/polymer/html_to_js.gni")
import("//ui/webui/resources/tools/generate_grd.gni")
generated_grdp_file = "$target_gen_dir/generated_resources.grdp"
mojo_grdp_file = "$target_gen_dir/mojo_resources.grdp"
resources_grd_file = "$target_gen_dir/resources.grd"
generate_grd("build_grd") {
grd_prefix = "usb_internals"
out_grd = resources_grd_file
deps = [
":build_generated_grdp",
":build_mojo_grdp",
]
input_files = [
"descriptor_panel.js",
"devices_page.js",
"usb_internals.css",
"usb_internals.html",
]
input_files_base_dir = rebase_path(".", "//")
grdp_files = [
generated_grdp_file,
mojo_grdp_file,
]
}
generate_grd("build_generated_grdp") {
grd_prefix = "usb_internals"
out_grd = generated_grdp_file
input_files = [ "app.js" ]
input_files_base_dir = rebase_path(target_gen_dir, root_build_dir)
}
generate_grd("build_mojo_grdp") {
grd_prefix = "usb_internals"
out_grd = mojo_grdp_file
input_files = [ "usb_internals.mojom-webui.js" ]
input_files_base_dir =
rebase_path(
"${root_gen_dir}/mojom-webui/chrome/browser/ui/webui/usb_internals",
"$root_build_dir")
}
js_type_check("closure_compile") {
closure_flags = default_closure_args + mojom_js_args + [
"js_module_root=" + rebase_path(".", root_build_dir),
"js_module_root=" + rebase_path(
"$root_gen_dir/mojom-webui/chrome/browser/ui/webui/usb_internals",
root_build_dir),
"js_module_root=" + rebase_path(
"$root_gen_dir/mojom-webui/services/device/public/mojom",
root_build_dir),
]
deps = [
":app",
":descriptor_panel",
":devices_page",
]
}
js_library("app") {
deps = [
":devices_page",
"//chrome/browser/ui/webui/usb_internals:mojo_bindings_webui_js",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js/cr/ui:tabs",
]
}
js_library("devices_page") {
deps = [
":descriptor_panel",
"//chrome/browser/ui/webui/usb_internals:mojo_bindings_webui_js",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js:util.m",
"//ui/webui/resources/js/cr/ui:tabs",
"//ui/webui/resources/js/cr/ui:tree",
]
}
js_library("descriptor_panel") {
deps = [
"//chrome/browser/ui/webui/usb_internals:mojo_bindings_webui_js",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:util.m",
"//ui/webui/resources/js/cr:ui.m",
"//ui/webui/resources/js/cr/ui:tree",
]
}
grit("resources") {
enable_input_discovery_for_gn_analyze = false
source = resources_grd_file
outputs = [
"grit/usb_internals_resources.h",
"grit/usb_internals_resources_map.cc",
"grit/usb_internals_resources_map.h",
"usb_internals_resources.pak",
]
output_dir = "$root_gen_dir/chrome"
deps = [
":build_grd",
":web_components",
"//chrome/browser/ui/webui/usb_internals:mojo_bindings_webui_js",
]
}
html_to_js("web_components") {
js_files = [ "app.js" ]
}