# 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/polymer/html_to_js.gni")
import("../settings.gni")

js_type_check("closure_compile_module") {
  is_polymer3 = true
  closure_flags = settings_closure_flags
  deps = [
    ":chrome_cleanup_page",
    ":chrome_cleanup_proxy",
    ":items_to_remove_list",
  ]
}

js_library("chrome_cleanup_page") {
  deps = [
    ":chrome_cleanup_proxy",
    ":items_to_remove_list",
    "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
    "//ui/webui/resources/js:assert.m",
    "//ui/webui/resources/js:i18n_behavior.m",
    "//ui/webui/resources/js:web_ui_listener_behavior.m",
  ]
  externs_list = [ "$externs_path/settings_private.js" ]
}

js_library("chrome_cleanup_proxy") {
  deps = [ "//ui/webui/resources/js:cr.m" ]
}

js_library("items_to_remove_list") {
  deps = [
    ":chrome_cleanup_proxy",
    "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
  ]
}

html_to_js("web_components") {
  js_files = [
    "chrome_cleanup_page.js",
    "items_to_remove_list.js",
  ]
}
