Samuel Huang | e0bfa7b | 2019-11-22 16:58:10 | [diff] [blame] | 1 | # 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 | |
rbpotter | 27e7442d | 2021-01-08 22:59:15 | [diff] [blame] | 5 | import("//chrome/common/features.gni") |
Samuel Huang | e0bfa7b | 2019-11-22 16:58:10 | [diff] [blame] | 6 | import("//tools/grit/grit_rule.gni") |
Rebekah Potter | 9bf8776 | 2022-04-29 20:18:50 | [diff] [blame] | 7 | import("//tools/grit/preprocess_if_expr.gni") |
| 8 | import("//tools/typescript/ts_library.gni") |
rbpotter | 27e7442d | 2021-01-08 22:59:15 | [diff] [blame] | 9 | import("//ui/webui/resources/tools/generate_grd.gni") |
| 10 | |
Rebekah Potter | 9bf8776 | 2022-04-29 20:18:50 | [diff] [blame] | 11 | preprocess_folder = "preprocessed" |
| 12 | copy("copy_mojo") { |
Rebekah Potter | 9b03e7f | 2022-05-04 00:49:13 | [diff] [blame] | 13 | deps = [ |
| 14 | "//chrome/browser/media:mojo_bindings_js", |
| 15 | "//services/media_session/public/mojom:mojom_js", |
| 16 | ] |
Rebekah Potter | 440e3a8 | 2022-05-03 16:39:48 | [diff] [blame] | 17 | 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 Potter | 9b03e7f | 2022-05-04 00:49:13 | [diff] [blame] | 20 | "$root_gen_dir/mojom-webui/services/media_session/public/mojom/media_session.mojom-webui.js", |
Rebekah Potter | 440e3a8 | 2022-05-03 16:39:48 | [diff] [blame] | 21 | ] |
Rebekah Potter | 9bf8776 | 2022-04-29 20:18:50 | [diff] [blame] | 22 | outputs = [ "$target_gen_dir/$preprocess_folder/{{source_file_part}}" ] |
| 23 | } |
| 24 | |
| 25 | preprocess_if_expr("preprocess_src") { |
Rebekah Potter | 9bf8776 | 2022-04-29 20:18:50 | [diff] [blame] | 26 | in_files = [ |
| 27 | "media_history.ts", |
| 28 | "media_data_table.ts", |
Rebekah Potter | 440e3a8 | 2022-05-03 16:39:48 | [diff] [blame] | 29 | "media_engagement.ts", |
| 30 | "webrtc_logs.ts", |
Rebekah Potter | 9bf8776 | 2022-04-29 20:18:50 | [diff] [blame] | 31 | ] |
| 32 | out_folder = "$target_gen_dir/$preprocess_folder" |
| 33 | } |
| 34 | |
| 35 | ts_library("build_ts") { |
| 36 | root_dir = "$target_gen_dir/$preprocess_folder" |
| 37 | out_dir = target_gen_dir |
| 38 | tsconfig_base = "tsconfig_base.json" |
Rebekah Potter | 9b03e7f | 2022-05-04 00:49:13 | [diff] [blame] | 39 | 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 Potter | 440e3a8 | 2022-05-03 16:39:48 | [diff] [blame] | 48 | |
| 49 | deps = [ |
| 50 | "//ui/webui/resources:library", |
| 51 | "//ui/webui/resources/mojo:library", |
Rebekah Potter | 9bf8776 | 2022-04-29 20:18:50 | [diff] [blame] | 52 | ] |
Rebekah Potter | 9bf8776 | 2022-04-29 20:18:50 | [diff] [blame] | 53 | extra_deps = [ |
| 54 | ":copy_mojo", |
| 55 | ":preprocess_src", |
| 56 | ] |
| 57 | } |
| 58 | |
rbpotter | 27e7442d | 2021-01-08 22:59:15 | [diff] [blame] | 59 | generate_grd("build_grd") { |
Rebekah Potter | 9b03e7f | 2022-05-04 00:49:13 | [diff] [blame] | 60 | grd_prefix = "media" |
| 61 | out_grd = "$target_gen_dir/resources.grd" |
rbpotter | 27e7442d | 2021-01-08 22:59:15 | [diff] [blame] | 62 | input_files = [ |
Rebekah Potter | 9b03e7f | 2022-05-04 00:49:13 | [diff] [blame] | 63 | "media_engagement.html", |
| 64 | "media_history.html", |
rbpotter | 27e7442d | 2021-01-08 22:59:15 | [diff] [blame] | 65 | "webrtc_logs.css", |
| 66 | "webrtc_logs.html", |
rbpotter | 27e7442d | 2021-01-08 22:59:15 | [diff] [blame] | 67 | ] |
| 68 | input_files_base_dir = rebase_path(".", "//") |
Asami Doi | b7fb4af1 | 2022-06-30 04:51:21 | [diff] [blame^] | 69 | manifest_files = [ "$target_gen_dir/tsconfig.manifest" ] |
Rebekah Potter | 440e3a8 | 2022-05-03 16:39:48 | [diff] [blame] | 70 | deps = [ ":build_ts" ] |
rbpotter | 27e7442d | 2021-01-08 22:59:15 | [diff] [blame] | 71 | } |
Samuel Huang | e0bfa7b | 2019-11-22 16:58:10 | [diff] [blame] | 72 | |
Rebekah Potter | 9b03e7f | 2022-05-04 00:49:13 | [diff] [blame] | 73 | grit("resources") { |
| 74 | source = "$target_gen_dir/resources.grd" |
rbpotter | 27e7442d | 2021-01-08 22:59:15 | [diff] [blame] | 75 | deps = [ ":build_grd" ] |
| 76 | enable_input_discovery_for_gn_analyze = false |
| 77 | defines = chrome_grit_defines |
Samuel Huang | e0bfa7b | 2019-11-22 16:58:10 | [diff] [blame] | 78 | use_brotli = true |
| 79 | outputs = [ |
Rebekah Potter | 9b03e7f | 2022-05-04 00:49:13 | [diff] [blame] | 80 | "grit/media_resources.h", |
| 81 | "grit/media_resources_map.cc", |
| 82 | "grit/media_resources_map.h", |
| 83 | "media_resources.pak", |
Samuel Huang | e0bfa7b | 2019-11-22 16:58:10 | [diff] [blame] | 84 | ] |
| 85 | output_dir = "$root_gen_dir/chrome" |
Samuel Huang | e0bfa7b | 2019-11-22 16:58:10 | [diff] [blame] | 86 | } |