File: BUILD.gn

package info (click to toggle)
chromium 139.0.7258.138-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,120,676 kB
  • sloc: cpp: 35,100,869; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (102 lines) | stat: -rw-r--r-- 3,354 bytes parent folder | download | duplicates (5)
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
# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//ui/webui/resources/tools/bundle_js.gni")
import("//ui/webui/resources/tools/minify_js.gni")
import("//ui/webui/webui_features.gni")

# Generate JS bundles for interstitials UIs. Always bundle regardless of the
# `optimize_webui`  GN arg, as these UIs can't load any JS modules at runtime,
# since they are not proper WebUI pages and therefore are not backed up by any
# WebUIDataSource.  Use `optimize_webui` only to decide whether to also minify.
group("bundle_js") {
  if (optimize_webui) {
    public_deps = [ ":minify_js" ]
  } else {
    public_deps = [ ":bundle_js_internal" ]
  }
}

# Bundle without minifying.
group("bundle_js_internal") {
  visibility = [
    ":bundle_js",
    ":minify_js",
  ]
  public_deps = [
    ":bundle_js_interstitial_large",
    ":bundle_js_interstitial_webview_quiet",
    ":bundle_js_interstitial_webview_supervised_user",
  ]
}

if (optimize_webui) {
  # Bundle and minify.
  minify_js("minify_js") {
    visibility = [ ":bundle_js" ]
    in_folder = target_gen_dir
    out_folder = "${target_gen_dir}/minified"
    in_files = [
      "interstitial_large/interstitial_large.rollup.js",
      "interstitial_webview_quiet/interstitial_webview_quiet.rollup.js",
      "interstitial_webview_supervised_user/interstitial_webview_supervised_user.rollup.js",
    ]
    deps = [ ":bundle_js_internal" ]
  }
}

shared_interstitials_path =
    rebase_path("${root_gen_dir}/components/security_interstitials/core/",
                root_build_dir)

bundle_js("bundle_js_interstitial_large") {
  visibility = [ ":bundle_js_internal" ]

  # Using a placeholder value for `host`. The value is ignored since the bundled
  # code is not served from any host.
  host = "_ignored_"
  input = rebase_path(".", root_build_dir)
  out_folder = "${target_gen_dir}/interstitial_large"
  js_module_in_files = [ "interstitial_large.js" ]

  external_paths = [ "chrome://interstitials/|$shared_interstitials_path" ]
  deps = [
    "../../common/resources:preprocess",
    "//ui/webui/resources/js:build_ts",
  ]
}

bundle_js("bundle_js_interstitial_webview_quiet") {
  visibility = [ ":bundle_js_internal" ]

  # Using a placeholder value for `host`. The value is ignored since the bundled
  # code is not served from any host.
  host = "_ignored_"
  input = rebase_path(".", root_build_dir)
  out_folder = "${target_gen_dir}/interstitial_webview_quiet"
  js_module_in_files = [ "interstitial_webview_quiet.js" ]

  external_paths = [ "chrome://interstitials/|$shared_interstitials_path" ]
  deps = [
    "../../common/resources:preprocess",
    "//ui/webui/resources/js:build_ts",
  ]
}

bundle_js("bundle_js_interstitial_webview_supervised_user") {
  visibility = [ ":bundle_js_internal" ]

  # Using a placeholder value for `host`. The value is ignored since the bundled
  # code is not served from any host.
  host = "_ignored_"
  input = rebase_path(".", root_build_dir)
  out_folder = "${target_gen_dir}/interstitial_webview_supervised_user"
  js_module_in_files = [ "interstitial_webview_supervised_user.js" ]

  external_paths = [ "chrome://interstitials/|$shared_interstitials_path" ]
  deps = [
    "../../common/resources:preprocess",
    "//ui/webui/resources/js:build_ts",
  ]
}