blob: 647d99c0f36e85197dced28bbb5622cebb340924 [file] [log] [blame]
# Copyright 2019 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//chrome/common/features.gni")
import("./new_tab_page.gni")
import("//ui/webui/resources/tools/build_webui.gni")
assert(!is_android)
grd_prefix = "new_tab_page"
build_webui("build") {
icons_html_files = [
"modules/icons.html",
"modules/most_relevant_tab_resumption/icons.html",
"modules/tab_groups/icons.html",
"ntp_promo/ntp_promo_icons.html",
]
static_files = [
"new_tab_page.html",
"shared_vars.css",
]
extra_grdp_files = [
"$target_gen_dir/icons/resources.grdp",
"$target_gen_dir/modules/authentication/icons/resources.grdp",
"$target_gen_dir/modules/calendar/icons/resources.grdp",
"$target_gen_dir/modules/tab_groups/icons/resources.grdp",
]
extra_grdp_deps = [
"icons:build_grdp",
"modules/authentication/icons:build_grdp",
"modules/calendar/icons:build_grdp",
"modules/tab_groups/icons:build_grdp",
]
if (optimize_webui) {
extra_grdp_files += [ "$target_gen_dir/mojo_resources.grdp" ]
extra_grdp_deps += [ ":build_mojo_grdp" ]
}
web_component_files = all_web_component_files
ts_files = all_ts_files
css_files = all_css_files
mojo_files_deps = [
"//chrome/browser/new_tab_page/modules/file_suggestion:mojo_bindings_ts__generator",
"//chrome/browser/new_tab_page/modules/v2/authentication:mojo_bindings_ts__generator",
"//chrome/browser/new_tab_page/modules/v2/calendar:mojo_bindings_ts__generator",
"//chrome/browser/new_tab_page/modules/v2/most_relevant_tab_resumption:mojo_bindings_ts__generator",
"//chrome/browser/new_tab_page/modules/v2/tab_groups:mojo_bindings_ts__generator",
"//chrome/browser/ui/webui/customize_buttons:mojo_bindings_ts__generator",
"//chrome/browser/ui/webui/new_tab_page:mojo_bindings_ts__generator",
"//chrome/browser/ui/webui/new_tab_page/ntp_promo:mojo_bindings_ts__generator",
"//chrome/browser/ui/webui/ntp_microsoft_auth:shared_ts__generator",
"//chrome/browser/ui/webui/side_panel/customize_chrome:mojo_bindings_ts__generator",
"//components/ntp_tiles:mojo_bindings_ts__generator",
"//components/omnibox/composebox:mojo_bindings_ts__generator",
"//components/tab_groups/public/mojom:mojo_bindings_ts__generator",
"//ui/webui/resources/cr_components/composebox:mojo_bindings_ts__generator",
]
mojo_files = [
"$root_gen_dir/chrome/browser/new_tab_page/modules/file_suggestion/drive_suggestion.mojom-webui.ts",
"$root_gen_dir/chrome/browser/new_tab_page/modules/file_suggestion/file_suggestion.mojom-webui.ts",
"$root_gen_dir/chrome/browser/new_tab_page/modules/file_suggestion/microsoft_files.mojom-webui.ts",
"$root_gen_dir/chrome/browser/new_tab_page/modules/v2/authentication/microsoft_auth.mojom-webui.ts",
"$root_gen_dir/chrome/browser/new_tab_page/modules/v2/calendar/calendar_data.mojom-webui.ts",
"$root_gen_dir/chrome/browser/new_tab_page/modules/v2/calendar/google_calendar.mojom-webui.ts",
"$root_gen_dir/chrome/browser/new_tab_page/modules/v2/calendar/outlook_calendar.mojom-webui.ts",
"$root_gen_dir/chrome/browser/new_tab_page/modules/v2/most_relevant_tab_resumption/most_relevant_tab_resumption.mojom-webui.ts",
"$root_gen_dir/chrome/browser/new_tab_page/modules/v2/most_relevant_tab_resumption/url_visit_types.mojom-webui.ts",
"$root_gen_dir/chrome/browser/new_tab_page/modules/v2/tab_groups/tab_groups.mojom-webui.ts",
"$root_gen_dir/chrome/browser/ui/webui/new_tab_page/new_tab_page.mojom-webui.ts",
"$root_gen_dir/chrome/browser/ui/webui/ntp_microsoft_auth/ntp_microsoft_auth_shared_ui.mojom-webui.ts",
"$root_gen_dir/chrome/browser/ui/webui/customize_buttons/customize_buttons.mojom-webui.ts",
"$root_gen_dir/ui/webui/resources/cr_components/composebox/composebox.mojom-webui.ts",
"$root_gen_dir/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome.mojom-webui.ts",
"$root_gen_dir/chrome/browser/ui/webui/new_tab_page/ntp_promo/ntp_promo.mojom-webui.ts",
"$root_gen_dir/components/omnibox/composebox/composebox_query.mojom-webui.ts",
"$root_gen_dir/components/ntp_tiles/tile_type.mojom-webui.ts",
"$root_gen_dir/components/tab_groups/public/mojom/tab_group_types.mojom-webui.ts",
]
if (!is_official_build) {
mojo_files_deps += [
"//chrome/browser/ui/webui/new_tab_page/foo:mojo_bindings_ts__generator",
]
mojo_files += [ "$root_gen_dir/chrome/browser/ui/webui/new_tab_page/foo/foo.mojom-webui.ts" ]
}
ts_tsconfig_base = "tsconfig_base.json"
ts_composite = true
ts_definitions = [
"//tools/typescript/definitions/metrics_private.d.ts",
"//tools/typescript/definitions/pending.d.ts",
]
ts_deps = [
"//chrome/browser/resources/new_tab_shared:build_ts",
"//third_party/lit/v3_0:build_ts",
"//ui/webui/resources/cr_components/color_change_listener:build_ts",
"//ui/webui/resources/cr_components/composebox:build_ts",
"//ui/webui/resources/cr_components/help_bubble:build_ts",
"//ui/webui/resources/cr_components/most_visited:build_ts",
"//ui/webui/resources/cr_components/page_image_service:build_ts",
"//ui/webui/resources/cr_components/searchbox:build_ts",
"//ui/webui/resources/cr_elements:build_ts",
"//ui/webui/resources/js:build_ts",
"//ui/webui/resources/mojo:build_ts",
]
ts_path_mappings =
[ "chrome://new-tab-page/shared/*|" +
rebase_path(
"$root_gen_dir/chrome/browser/resources/new_tab_shared/tsc/*",
target_gen_dir) ]
webui_context_type = "trusted"
optimize = optimize_webui
if (optimize) {
optimize_webui_host = "new-tab-page"
optimize_webui_in_files = [
"new_tab_page.js",
"lazy_load.js",
]
optimize_webui_excludes = [
"chrome://resources/cr_components/color_change_listener/color_change_listener.mojom-webui.js",
"chrome://resources/cr_components/most_visited/most_visited.mojom-webui.js",
"chrome://resources/cr_components/page_image_service/page_image_service.mojom-webui.js",
"chrome://resources/mojo/omnibox/browser/searchbox.mojom-webui.js",
"chrome://resources/cr_components/searchbox/searchbox.mojom-webui.js",
"chrome://resources/cr_components/composebox/composebox.mojom-webui.js",
"chrome://resources/cr_components/composebox/composebox_query.mojom-webui.js",
"chrome://resources/js/browser_command/browser_command.mojom-webui.js",
"chrome://resources/js/metrics_reporter/metrics_reporter.mojom-webui.js",
"chrome://resources/mojo/mojo/public/mojom/base/string16.mojom-webui.js",
"chrome://resources/mojo/mojo/public/mojom/base/text_direction.mojom-webui.js",
"chrome://resources/mojo/mojo/public/mojom/base/time.mojom-webui.js",
"chrome://resources/mojo/skia/public/mojom/skcolor.mojom-webui.js",
"chrome://resources/mojo/url/mojom/url.mojom-webui.js",
] + mojo_js_files
optimize_webui_external_paths =
[ "chrome://new-tab-page/shared|" +
rebase_path(
"$root_gen_dir/chrome/browser/resources/new_tab_shared/tsc",
root_build_dir) ]
}
}
if (optimize_webui) {
# Register all mojo files to their own grdp, since they are excluded from the
# bundle on optimized builds and need to be registered separately.
generate_grd("build_mojo_grdp") {
grd_prefix = grd_prefix
out_grd = "$target_gen_dir/mojo_resources.grdp"
input_files = mojo_js_files
input_files_base_dir = rebase_path("$target_gen_dir/tsc", root_build_dir)
deps = [ ":build_ts" ]
}
}