summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/resources/extensions/BUILD.gn
blob: 1c111086ae7c2bdea4ab98f2943d6bb3e08bbc39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# Copyright 2018 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/chromeos/ui_mode.gni")
import("//chrome/browser/resources/tools/build_webui.gni")
import("//extensions/buildflags/buildflags.gni")

assert(enable_extensions, "enable extensions check failed")

build_webui("build") {
  grd_prefix = "extensions"

  static_files = [ "extensions.html" ]

  # Files holding a Polymer element definition and have an equivalent .html file.
  web_component_files = [
    "activity_log/activity_log.ts",
    "activity_log/activity_log_history.ts",
    "activity_log/activity_log_history_item.ts",
    "activity_log/activity_log_stream.ts",
    "activity_log/activity_log_stream_item.ts",
    "code_section.ts",
    "detail_view.ts",
    "drop_overlay.ts",
    "error_page.ts",
    "host_permissions_toggle_list.ts",
    "install_warnings_dialog.ts",
    "item.ts",
    "item_list.ts",
    "keyboard_shortcuts.ts",
    "load_error.ts",
    "manager.ts",
    "options_dialog.ts",
    "pack_dialog.ts",
    "pack_dialog_alert.ts",
    "restricted_sites_dialog.ts",
    "runtime_host_permissions.ts",
    "runtime_hosts_dialog.ts",
    "shortcut_input.ts",
    "sidebar.ts",
    "site_permissions_by_site.ts",
    "site_permissions_edit_permissions_dialog.ts",
    "site_permissions_edit_url_dialog.ts",
    "site_permissions_list.ts",
    "site_permissions_site_group.ts",
    "site_permissions.ts",
    "toggle_row.ts",
    "toolbar.ts",
  ]

  if (is_chromeos_ash) {
    web_component_files += [ "kiosk_dialog.ts" ]
  }

  non_web_component_files = [
    "drag_and_drop_handler.ts",
    "extensions.ts",
    "item_mixin.ts",
    "item_util.ts",
    "keyboard_shortcut_delegate.ts",
    "navigation_helper.ts",
    "service.ts",
    "shortcut_util.ts",
    "site_settings_mixin.ts",
    "url_util.ts",
  ]

  if (is_chromeos_ash) {
    non_web_component_files += [ "kiosk_browser_proxy.ts" ]
  }

  icons_html_files = [ "icons.html" ]

  # Files that are passed as input to css_to_wrapper().
  css_files = [
    "shared_style.css",
    "shared_vars.css",
  ]

  ts_composite = true
  ts_definitions = [
    "//tools/typescript/definitions/activity_log_private.d.ts",
    "//tools/typescript/definitions/chrome_event.d.ts",
    "//tools/typescript/definitions/developer_private.d.ts",
    "//tools/typescript/definitions/management.d.ts",
    "//tools/typescript/definitions/metrics_private.d.ts",
    "//tools/typescript/definitions/pending.d.ts",
    "//tools/typescript/definitions/runtime.d.ts",
    "//tools/typescript/definitions/tabs.d.ts",
  ]
  if (is_chromeos_ash) {
    ts_definitions += [ "//tools/typescript/definitions/chrome_send.d.ts" ]
  }
  ts_deps = [
    "//third_party/polymer/v3_0:library",
    "//ui/webui/resources:library",
  ]

  optimize = optimize_webui
  if (optimize) {
    optimize_webui_host = "extensions"
    optimize_webui_out_files = [ "extensions.rollup.js" ]
    optimize_webui_in_files = [ "extensions.js" ]
    optimize_webui_excludes = [ "chrome://resources/js/cr.m.js" ]
    optimize_webui_resource_paths_rewrites =
        [ "extensions.rollup.js|extensions.js" ]
  }
}