# 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("//chrome/common/features.gni") import("//third_party/closure_compiler/compile_js.gni") import("//tools/grit/grit_rule.gni") import("//tools/polymer/html_to_js.gni") import("../optimize_webui.gni") if (optimize_webui) { downloads_pak_file = "downloads_resources.pak" unpak_folder = "downloads_resources.unpak" optimize_webui("build") { host = "downloads" input = rebase_path("$target_gen_dir/$unpak_folder", root_build_dir) js_out_files = [ "downloads.rollup.js" ] js_module_in_files = [ "downloads.js" ] excludes = [ "chrome://resources/js/cr.m.js", "chrome://resources/mojo/mojo/public/js/mojo_bindings_lite.js", "downloads.mojom-lite.js", ] deps = [ ":unpak", "../../../../ui/webui/resources:modulize", ] } unpak("unpak") { pak_file = downloads_pak_file out_folder = unpak_folder excludes = [ "../../ui/webui/downloads/downloads.mojom-lite.js" ] deps = [ ":flattened_resources" ] } grit("flattened_resources") { source = "downloads_resources.grd" defines = chrome_grit_defines outputs = [ "grit/downloads_resources.h", "grit/downloads_resources_map.cc", "grit/downloads_resources_map.h", downloads_pak_file, ] deps = [ ":web_components", "//chrome/browser/ui/webui/downloads:mojo_bindings_js", ] grit_flags = [ "-E", "root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir), ] output_dir = "$root_gen_dir/chrome/browser/resources/downloads" } } js_type_check("closure_compile") { is_polymer3 = true deps = [ ":browser_proxy", ":constants", ":item", ":manager", ":search_service", ":toolbar", ] } js_library("browser_proxy") { deps = [ "//chrome/browser/ui/webui/downloads:mojo_bindings_js_library_for_compile", "//ui/webui/resources/js:cr.m", ] externs_list = [ "externs.js" ] } js_library("constants") { } js_library("icon_loader") { deps = [ "//ui/webui/resources/js:assert.m", "//ui/webui/resources/js:cr.m", "//ui/webui/resources/js:icon.m", "//ui/webui/resources/js:promise_resolver.m", ] } js_library("item") { deps = [ ":browser_proxy", ":constants", ":icon_loader", "//ui/webui/resources/cr_elements/cr_toast:cr_toast_manager.m", "//ui/webui/resources/js:assert.m", "//ui/webui/resources/js:load_time_data.m", "//ui/webui/resources/js:util.m", "//ui/webui/resources/js/cr/ui:focus_row_behavior.m", "//ui/webui/resources/js/cr/ui:focus_without_ink.m", ] } js_library("manager") { deps = [ ":browser_proxy", ":item", ":search_service", ":toolbar", "//third_party/polymer/v3_0/components-chromium/iron-a11y-announcer", "//third_party/polymer/v3_0/components-chromium/iron-list", "//ui/webui/resources/cr_elements/cr_toast:cr_toast_manager.m", "//ui/webui/resources/js:assert.m", "//ui/webui/resources/js:find_shortcut_behavior.m", "//ui/webui/resources/js:load_time_data.m", "//ui/webui/resources/js:promise_resolver.m", "//ui/webui/resources/js:util.m", ] externs_list = [ "$externs_path/chrome_send.js" ] } js_library("search_service") { deps = [ ":browser_proxy", "//ui/webui/resources/js:cr.m", "//ui/webui/resources/js:load_time_data.m", ] } js_library("toolbar") { deps = [ ":browser_proxy", ":search_service", "//ui/webui/resources/cr_elements/cr_action_menu:cr_action_menu.m", "//ui/webui/resources/cr_elements/cr_toast:cr_toast_manager.m", "//ui/webui/resources/cr_elements/cr_toolbar:cr_toolbar.m", "//ui/webui/resources/js:assert.m", "//ui/webui/resources/js:load_time_data.m", "//ui/webui/resources/js:util.m", ] } html_to_js("web_components") { js_files = [ "icons.js", "item.js", "manager.js", "toolbar.js", ] }