| # Copyright 2024 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/build_webui.gni") |
| import("//ui/webui/resources/tools/generate_grd.gni") |
| |
| if (is_chrome_branded) { |
| preprocess_folder = "$target_gen_dir/preprocessed" |
| } |
| |
| build_webui("build") { |
| grd_prefix = "data_sharing" |
| ts_composite = true |
| ts_definitions = [ "//tools/typescript/definitions/metrics_private.d.ts" ] |
| |
| ts_deps = [ |
| "//ui/webui/resources/cr_components/color_change_listener:build_ts", |
| "//ui/webui/resources/js:build_ts", |
| "//ui/webui/resources/mojo:build_ts", |
| ] |
| |
| mojo_files_deps = [ |
| "//chrome/browser/ui/webui/data_sharing:mojo_bindings_ts__generator", |
| "//components/data_sharing/public/protocol:mojo_bindings_ts__generator", |
| ] |
| mojo_files = [ |
| "$root_gen_dir/chrome/browser/ui/webui/data_sharing/data_sharing.mojom-webui.ts", |
| "$root_gen_dir/components/data_sharing/public/protocol/group_data.mojom-webui.ts", |
| ] |
| |
| static_files = [ |
| "data_sharing.html", |
| "data_sharing_api.html", |
| ] |
| |
| web_component_files = [ "data_sharing_app.ts" ] |
| |
| ts_files = [ |
| "browser_proxy.ts", |
| "data_sharing_api.ts", |
| "mojom_conversion_utils.ts", |
| ] |
| |
| if (is_chrome_branded) { |
| ts_path_mappings = [ "/data_sharing_sdk.js|" + |
| rebase_path("${preprocess_folder}/data_sharing_sdk.js", |
| target_gen_dir) ] |
| ts_extra_deps = [ ":copy_data_sharing_sdk" ] |
| extra_grdp_deps = [ ":build_data_sharing_sdk_grdp" ] |
| extra_grdp_files = [ "$target_gen_dir/data_sharing_sdk.grdp" ] |
| |
| # Use the mojo_files rules to copy the ts type file to the preprocess dir. |
| # This helps to make sure third_party code is in sync with Chrome. |
| mojo_files += [ "//third_party/data_sharing_sdk/data_sharing_sdk_types.ts" ] |
| } else { |
| static_files += [ "data_sharing_sdk.css" ] |
| ts_files += [ |
| "data_sharing_sdk_types.ts", |
| "dummy_data_sharing_sdk.ts", |
| ] |
| } |
| |
| webui_context_type = "untrusted" |
| } |
| |
| if (is_chrome_branded) { |
| generate_grd("build_data_sharing_sdk_grdp") { |
| grd_prefix = "data_sharing_sdk" |
| out_grd = "$target_gen_dir/data_sharing_sdk.grdp" |
| input_files = [ |
| "data_sharing_sdk.js", |
| "data_sharing_sdk.css", |
| ] |
| input_files_base_dir = rebase_path(preprocess_folder, root_build_dir) |
| } |
| |
| copy("copy_data_sharing_sdk") { |
| sources = [ |
| "//third_party/data_sharing_sdk/data_sharing_sdk.css", |
| "//third_party/data_sharing_sdk/data_sharing_sdk.js", |
| ] |
| |
| outputs = [ "$preprocess_folder/{{source_file_part}}" ] |
| } |
| } |