blob: 772cb4dd48a2f9abe9da867f4704c89bc191119c [file] [log] [blame]
Samuel Huange0bfa7b2019-11-22 16:58:101# Copyright 2019 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
rbpotter27e7442d2021-01-08 22:59:155import("//chrome/common/features.gni")
Samuel Huange0bfa7b2019-11-22 16:58:106import("//tools/grit/grit_rule.gni")
Rebekah Potter9bf87762022-04-29 20:18:507import("//tools/grit/preprocess_if_expr.gni")
8import("//tools/typescript/ts_library.gni")
rbpotter27e7442d2021-01-08 22:59:159import("//ui/webui/resources/tools/generate_grd.gni")
10
Rebekah Potter9bf87762022-04-29 20:18:5011preprocess_folder = "preprocessed"
12copy("copy_mojo") {
Rebekah Potter9b03e7f2022-05-04 00:49:1313 deps = [
14 "//chrome/browser/media:mojo_bindings_js",
15 "//services/media_session/public/mojom:mojom_js",
16 ]
Rebekah Potter440e3a82022-05-03 16:39:4817 sources = [
18 "$root_gen_dir/mojom-webui/chrome/browser/media/history/media_history_store.mojom-webui.js",
19 "$root_gen_dir/mojom-webui/chrome/browser/media/media_engagement_score_details.mojom-webui.js",
Rebekah Potter9b03e7f2022-05-04 00:49:1320 "$root_gen_dir/mojom-webui/services/media_session/public/mojom/media_session.mojom-webui.js",
Rebekah Potter440e3a82022-05-03 16:39:4821 ]
Rebekah Potter9bf87762022-04-29 20:18:5022 outputs = [ "$target_gen_dir/$preprocess_folder/{{source_file_part}}" ]
23}
24
25preprocess_if_expr("preprocess_src") {
Rebekah Potter9bf87762022-04-29 20:18:5026 in_files = [
27 "media_history.ts",
28 "media_data_table.ts",
Rebekah Potter440e3a82022-05-03 16:39:4829 "media_engagement.ts",
30 "webrtc_logs.ts",
Rebekah Potter9bf87762022-04-29 20:18:5031 ]
32 out_folder = "$target_gen_dir/$preprocess_folder"
33}
34
35ts_library("build_ts") {
36 root_dir = "$target_gen_dir/$preprocess_folder"
37 out_dir = target_gen_dir
38 tsconfig_base = "tsconfig_base.json"
Rebekah Potter9b03e7f2022-05-04 00:49:1339 in_files = [
40 "media_history.ts",
41 "media_data_table.ts",
42 "media_engagement.ts",
43 "media_engagement_score_details.mojom-webui.js",
44 "media_history_store.mojom-webui.js",
45 "media_session.mojom-webui.js",
46 "webrtc_logs.ts",
47 ]
Rebekah Potter440e3a82022-05-03 16:39:4848
49 deps = [
50 "//ui/webui/resources:library",
51 "//ui/webui/resources/mojo:library",
Rebekah Potter9bf87762022-04-29 20:18:5052 ]
Rebekah Potter9bf87762022-04-29 20:18:5053 extra_deps = [
54 ":copy_mojo",
55 ":preprocess_src",
56 ]
57}
58
rbpotter27e7442d2021-01-08 22:59:1559generate_grd("build_grd") {
Rebekah Potter9b03e7f2022-05-04 00:49:1360 grd_prefix = "media"
61 out_grd = "$target_gen_dir/resources.grd"
rbpotter27e7442d2021-01-08 22:59:1562 input_files = [
Rebekah Potter9b03e7f2022-05-04 00:49:1363 "media_engagement.html",
64 "media_history.html",
rbpotter27e7442d2021-01-08 22:59:1565 "webrtc_logs.css",
66 "webrtc_logs.html",
rbpotter27e7442d2021-01-08 22:59:1567 ]
68 input_files_base_dir = rebase_path(".", "//")
Asami Doib7fb4af12022-06-30 04:51:2169 manifest_files = [ "$target_gen_dir/tsconfig.manifest" ]
Rebekah Potter440e3a82022-05-03 16:39:4870 deps = [ ":build_ts" ]
rbpotter27e7442d2021-01-08 22:59:1571}
Samuel Huange0bfa7b2019-11-22 16:58:1072
Rebekah Potter9b03e7f2022-05-04 00:49:1373grit("resources") {
74 source = "$target_gen_dir/resources.grd"
rbpotter27e7442d2021-01-08 22:59:1575 deps = [ ":build_grd" ]
76 enable_input_discovery_for_gn_analyze = false
77 defines = chrome_grit_defines
Samuel Huange0bfa7b2019-11-22 16:58:1078 use_brotli = true
79 outputs = [
Rebekah Potter9b03e7f2022-05-04 00:49:1380 "grit/media_resources.h",
81 "grit/media_resources_map.cc",
82 "grit/media_resources_map.h",
83 "media_resources.pak",
Samuel Huange0bfa7b2019-11-22 16:58:1084 ]
85 output_dir = "$root_gen_dir/chrome"
Samuel Huange0bfa7b2019-11-22 16:58:1086}