# Copyright 2018 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/js_modulizer.gni") group("closure_compile") { deps = [ ":js_resources", "cr:closure_compile", "cr/ui:closure_compile", ] } js_type_check("js_resources") { deps = [ ":action_link", ":assert", ":cr", ":event_tracker", ":find_shortcut_behavior", ":i18n_behavior", ":i18n_template_no_process", ":icon", ":list_property_update_behavior", ":load_time_data", ":parse_html_subset", ":promise_resolver", ":search_highlight_utils", ":util", ":web_ui_listener_behavior", ":webui_resource_test", ] if (is_chromeos) { deps += [ ":i18n_template" ] } if (is_ios) { deps += [ "ios:web_ui" ] } } js_library("action_link") { } js_library("assert") { } js_library("cr") { deps = [ ":assert", ":promise_resolver", ] externs_list = [ "$externs_path/chrome_send.js" ] } js_library("event_tracker") { } js_library("search_highlight_utils") { deps = [ ":assert", ":cr", ] } js_library("icon") { deps = [ ":cr", ":util", ] } js_library("i18n_template_no_process") { deps = [ ":load_time_data" ] } js_library("i18n_template") { deps = [ ":i18n_template_no_process" ] } js_library("i18n_behavior") { deps = [ ":load_time_data" ] } js_library("list_property_update_behavior") { } js_library("load_time_data") { deps = [ ":assert", ":parse_html_subset", "//third_party/jstemplate:jstemplate", ] } js_library("parse_html_subset") { } js_library("promise_resolver") { deps = [ ":assert" ] } js_library("util") { deps = [ ":cr" ] externs_list = [ "$externs_path/chrome_send.js" ] } js_library("web_ui_listener_behavior") { deps = [ ":cr" ] } js_library("webui_resource_test") { externs_list = [ "dom_automation_controller.js" ] } js_library("find_shortcut_behavior") { deps = [ ":assert", ":cr", ":util", "cr/ui:keyboard_shortcut_list", ] } # Targets for auto-generating and type-checking JS Modules js_modulizer("modulize") { input_files = [ "assert.js", "event_tracker.js", "find_shortcut_behavior.js", "icon.js", "i18n_behavior.js", "list_property_update_behavior.js", "load_time_data.js", "parse_html_subset.js", "promise_resolver.js", "search_highlight_utils.js", "util.js", "web_ui_listener_behavior.js", ] namespace_rewrites = [ "cr.search_highlight_utils.Range|Range", "cr.ui.KeyboardShortcutList|KeyboardShortcutList", "Polymer.ArraySplice.calculateSplices|calculateSplices", ] deps = [ "cr:modulize" ] } group("closure_compile_modules") { deps = [ ":js_resources_modules", "cr:closure_compile_modules", ] } js_type_check("js_resources_modules") { is_polymer3 = true deps = [ ":assert.m", ":cr.m", ":event_tracker.m", ":find_shortcut_behavior.m", ":i18n_behavior.m", ":icon.m", ":list_property_update_behavior.m", ":load_time_data.m", ":parse_html_subset.m", ":plural_string_proxy", ":promise_resolver.m", ":search_highlight_utils.m", ":util.m", ":web_ui_listener_behavior.m", ] } js_library("assert.m") { sources = [ "$root_gen_dir/ui/webui/resources/js/assert.m.js" ] extra_deps = [ ":modulize" ] } js_library("cr.m") { deps = [ ":assert.m", ":promise_resolver.m", ] externs_list = [ "$externs_path/chrome_send.js" ] } js_library("event_tracker.m") { sources = [ "$root_gen_dir/ui/webui/resources/js/event_tracker.m.js" ] extra_deps = [ ":modulize" ] } js_library("find_shortcut_behavior.m") { sources = [ "$root_gen_dir/ui/webui/resources/js/find_shortcut_behavior.m.js" ] deps = [ ":assert.m", ":cr.m", ":util.m", "cr/ui:keyboard_shortcut_list.m", ] extra_deps = [ ":modulize" ] } js_library("icon.m") { sources = [ "$root_gen_dir/ui/webui/resources/js/icon.m.js" ] deps = [ ":cr.m" ] extra_deps = [ ":modulize" ] } js_library("i18n_behavior.m") { sources = [ "$root_gen_dir/ui/webui/resources/js/i18n_behavior.m.js" ] deps = [ ":load_time_data.m", ":parse_html_subset.m", ] extra_deps = [ ":modulize" ] } js_library("list_property_update_behavior.m") { sources = [ "$root_gen_dir/ui/webui/resources/js/list_property_update_behavior.m.js", ] deps = [ "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled", ] extra_deps = [ ":modulize" ] } js_library("load_time_data.m") { sources = [ "$root_gen_dir/ui/webui/resources/js/load_time_data.m.js" ] deps = [ ":assert.m", ":parse_html_subset.m", "//third_party/jstemplate:jstemplate", ] extra_deps = [ ":modulize" ] } js_library("parse_html_subset.m") { sources = [ "$root_gen_dir/ui/webui/resources/js/parse_html_subset.m.js" ] extra_deps = [ ":modulize" ] } js_library("plural_string_proxy") { deps = [ ":cr.m" ] } js_library("promise_resolver.m") { sources = [ "$root_gen_dir/ui/webui/resources/js/promise_resolver.m.js" ] deps = [ ":assert.m" ] extra_deps = [ ":modulize" ] } js_library("search_highlight_utils.m") { sources = [ "$root_gen_dir/ui/webui/resources/js/search_highlight_utils.m.js" ] deps = [ ":assert.m" ] extra_deps = [ ":modulize" ] } js_library("util.m") { sources = [ "$root_gen_dir/ui/webui/resources/js/util.m.js" ] deps = [ ":assert.m", ":cr.m", ] externs_list = [ "$externs_path/chrome_send.js" ] extra_deps = [ ":modulize" ] } js_library("web_ui_listener_behavior.m") { sources = [ "$root_gen_dir/ui/webui/resources/js/web_ui_listener_behavior.m.js" ] deps = [ ":cr.m" ] extra_deps = [ ":modulize" ] }