# 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/polymer.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 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 = [ ":polymer3_elements", "//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", ] } group("polymer3_elements") { public_deps = [ ":icons_module", ":item_module", ":manager_module", ":toolbar_module", ] } polymer_modulizer("item") { html_file = "item.html" js_file = "item.js" html_type = "v3-ready" } polymer_modulizer("manager") { html_file = "manager.html" js_file = "manager.js" html_type = "v3-ready" } polymer_modulizer("toolbar") { html_file = "toolbar.html" js_file = "toolbar.js" html_type = "v3-ready" } polymer_modulizer("icons") { html_file = "icons.html" js_file = "icons.js" html_type = "v3-ready" }