Commit e3af23d0 authored by dpapad's avatar dpapad Committed by Commit Bot

Settings WebUI: Autogenerate .grd file for optimized build

Leverage latest improvements to autogenerate WebUI .grd files for
optimized builds as well.

Also rename c/b/r/settings:build_polymer3 to :build, and
settings_v3.html to just settings.html, as there is no longer a
need to differentiate between versions.

Bug: 1132403
Change-Id: Ie7e7a06e256bab540da673f458880f8caef367df
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2465505Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Commit-Queue: dpapad <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#816768}
parent 33bc47e0
......@@ -275,21 +275,19 @@ if (!is_android) {
grit_flags = [
"-E",
"root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir),
"-E",
"root_src_dir=" + rebase_path("//", root_build_dir),
]
defines = chrome_grit_defines
if (optimize_webui) {
source = "settings/settings_resources_vulcanized.grd"
deps = [ "//chrome/browser/resources/settings:build_polymer3" ]
} else {
# These arguments are needed since the grd is generated at build time.
enable_input_discovery_for_gn_analyze = false
defines += [ "SHARED_INTERMEDIATE_DIR=" +
rebase_path(root_gen_dir, root_build_dir) ]
gen_dir = "$root_gen_dir/chrome/browser/resources/settings"
source = "$gen_dir/settings_resources.grd"
deps = [ "//chrome/browser/resources/settings:build_grd" ]
}
# These arguments are needed since the grd is generated at build time.
enable_input_discovery_for_gn_analyze = false
defines += [ "SHARED_INTERMEDIATE_DIR=" +
rebase_path(root_gen_dir, root_build_dir) ]
gen_dir = "$root_gen_dir/chrome/browser/resources/settings"
source = "$gen_dir/settings_resources.grd"
deps = [ "//chrome/browser/resources/settings:build_grd" ]
outputs = [
"grit/settings_resources.h",
......
......@@ -18,7 +18,9 @@ preprocess_manifest = "preprocessed_manifest.json"
preprocess_gen_manifest = "preprocessed_gen_manifest.json"
if (optimize_webui) {
optimize_webui("build_polymer3") {
build_manifest = "build_manifest.json"
optimize_webui("build") {
host = "settings"
input = rebase_path("$target_gen_dir/$preprocess_folder", root_build_dir)
js_module_in_files = [
......@@ -30,6 +32,7 @@ if (optimize_webui) {
"lazy_load.rollup.js",
"shared.rollup.js",
]
out_manifest = "$target_gen_dir/$build_manifest"
deps = [
":preprocess",
......@@ -42,8 +45,32 @@ if (optimize_webui) {
"chrome://resources/mojo/skia/public/mojom/skcolor.mojom-lite.js",
]
}
} else {
generate_grd("build_grd") {
}
generate_grd("build_grd") {
grd_prefix = "settings"
out_grd = "$target_gen_dir/${grd_prefix}_resources.grd"
input_files = [
"images/cookies_banner_dark.svg",
"images/cookies_banner.svg",
"images/password_check_neutral_dark.svg",
"images/password_check_neutral.svg",
"images/password_check_positive_dark.svg",
"images/password_check_positive.svg",
"images/permissions_banner_dark.svg",
"images/permissions_banner.svg",
"images/safe_browsing_banner_dark.svg",
"images/safe_browsing_banner.svg",
"images/sync_banner_dark.svg",
"images/sync_banner.svg",
"settings.html",
]
input_files_base_dir = rebase_path(".", "//")
if (optimize_webui) {
deps = [ ":build" ]
manifest_files = [ "$target_gen_dir/$build_manifest" ]
} else {
deps = [
":preprocess",
":preprocess_generated",
......@@ -52,8 +79,6 @@ if (optimize_webui) {
"$target_gen_dir/$preprocess_manifest",
"$target_gen_dir/$preprocess_gen_manifest",
]
grd_prefix = "settings"
out_grd = "$target_gen_dir/${grd_prefix}_resources.grd"
}
}
......@@ -99,22 +124,6 @@ preprocess_grit("preprocess") {
"site_settings/site_settings_behavior.js",
"site_settings/site_settings_prefs_browser_proxy.js",
"site_settings/website_usage_browser_proxy.js",
# TODO(dpapad): Pass these directly to the generate_grd() target above, once
# support for that is added, as part of crbug.com/1132403.
"images/cookies_banner.svg",
"images/cookies_banner_dark.svg",
"images/password_check_neutral.svg",
"images/password_check_neutral_dark.svg",
"images/password_check_positive.svg",
"images/password_check_positive_dark.svg",
"images/permissions_banner.svg",
"images/permissions_banner_dark.svg",
"images/safe_browsing_banner.svg",
"images/safe_browsing_banner_dark.svg",
"images/sync_banner.svg",
"images/sync_banner_dark.svg",
"settings_v3.html",
]
if (is_chromeos) {
......
<?xml version="1.0" encoding="UTF-8"?>
<grit latest_public_release="0" current_release="1" output_all_resource_defines="false">
<outputs>
<output filename="grit/settings_resources.h" type="rc_header">
<emit emit_type='prepend'></emit>
</output>
<output filename="grit/settings_resources_map.cc"
type="resource_map_source" />
<output filename="grit/settings_resources_map.h"
type="resource_map_header" />
<output filename="settings_resources.pak" type="data_package" />
</outputs>
<release seq="1">
<includes>
<include name="IDR_SETTINGS_IMAGES_COOKIES_BANNER_SVG"
file="images/cookies_banner.svg"
type="BINDATA" />
<include name="IDR_SETTINGS_IMAGES_COOKIES_BANNER_DARK_SVG"
file="images/cookies_banner_dark.svg"
type="BINDATA" />
<include name="IDR_SETTINGS_IMAGES_PERMISSIONS_BANNER_SVG"
file="images/permissions_banner.svg"
type="BINDATA" />
<include name="IDR_SETTINGS_IMAGES_PERMISSIONS_BANNER_DARK_SVG"
file="images/permissions_banner_dark.svg"
type="BINDATA" />
<include name="IDR_SETTINGS_IMAGES_SAFE_BROWSING_BANNER_SVG"
file="images/safe_browsing_banner.svg"
type="BINDATA" />
<include name="IDR_SETTINGS_IMAGES_SAFE_BROWSING_BANNER_DARK_SVG"
file="images/safe_browsing_banner_dark.svg"
type="BINDATA" />
<include name="IDR_SETTINGS_IMAGES_SYNC_BANNER_SVG"
file="images/sync_banner.svg"
type="BINDATA" />
<include name="IDR_SETTINGS_IMAGES_SYNC_BANNER_DARK_SVG"
file="images/sync_banner_dark.svg"
type="BINDATA" />
<include name="IDR_SETTINGS_IMAGES_PASSWORD_CHECK_NEUTRAL_SVG"
file="images/password_check_neutral.svg"
type="BINDATA" />
<include name="IDR_SETTINGS_IMAGES_PASSWORD_CHECK_NEUTRAL_DARK_SVG"
file="images/password_check_neutral_dark.svg"
type="BINDATA" />
<include name="IDR_SETTINGS_IMAGES_PASSWORD_CHECK_POSITIVE_SVG"
file="images/password_check_positive.svg"
type="BINDATA" />
<include name="IDR_SETTINGS_IMAGES_PASSWORD_CHECK_POSITIVE_DARK_SVG"
file="images/password_check_positive_dark.svg"
type="BINDATA" />
<!-- Polymer 3 related files -->
<include name="IDR_SETTINGS_SETTINGS_V3_HTML"
file="settings_v3.html"
type="BINDATA" />
<include name="IDR_SETTINGS_SETTINGS_ROLLUP_JS"
file="${root_gen_dir}\chrome\browser\resources\settings\settings.rollup.js"
use_base_dir="false"
type="BINDATA" />
<include name="IDR_SETTINGS_LAZY_LOAD_ROLLUP_JS"
file="${root_gen_dir}\chrome\browser\resources\settings\lazy_load.rollup.js"
type="BINDATA"
use_base_dir="false" />
<include name="IDR_SETTINGS_SHARED_ROLLUP_JS"
file="${root_gen_dir}\chrome\browser\resources\settings\shared.rollup.js"
type="BINDATA"
use_base_dir="false" />
</includes>
</release>
</grit>
......@@ -329,47 +329,9 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
// Add the metrics handler to write uma stats.
web_ui->AddMessageHandler(std::make_unique<MetricsHandler>());
#if BUILDFLAG(OPTIMIZE_WEBUI)
webui::SetupBundledWebUIDataSource(html_source, "settings.js",
IDR_SETTINGS_SETTINGS_ROLLUP_JS,
IDR_SETTINGS_SETTINGS_V3_HTML);
html_source->AddResourcePath("shared.rollup.js",
IDR_SETTINGS_SHARED_ROLLUP_JS);
html_source->AddResourcePath("lazy_load.js",
IDR_SETTINGS_LAZY_LOAD_ROLLUP_JS);
// Register SVG images that are purposefully not inlined in the HTML bundle
// above.
static constexpr webui::ResourcePath kSvgResources[] = {
{"images/cookies_banner.svg", IDR_SETTINGS_IMAGES_COOKIES_BANNER_SVG},
{"images/cookies_banner_dark.svg",
IDR_SETTINGS_IMAGES_COOKIES_BANNER_DARK_SVG},
{"images/permissions_banner.svg",
IDR_SETTINGS_IMAGES_PERMISSIONS_BANNER_SVG},
{"images/permissions_banner_dark.svg",
IDR_SETTINGS_IMAGES_PERMISSIONS_BANNER_DARK_SVG},
{"images/safe_browsing_banner.svg",
IDR_SETTINGS_IMAGES_SAFE_BROWSING_BANNER_SVG},
{"images/safe_browsing_banner_dark.svg",
IDR_SETTINGS_IMAGES_SAFE_BROWSING_BANNER_DARK_SVG},
{"images/sync_banner.svg", IDR_SETTINGS_IMAGES_SYNC_BANNER_SVG},
{"images/sync_banner_dark.svg", IDR_SETTINGS_IMAGES_SYNC_BANNER_DARK_SVG},
{"images/password_check_neutral.svg",
IDR_SETTINGS_IMAGES_PASSWORD_CHECK_NEUTRAL_SVG},
{"images/password_check_neutral_dark.svg",
IDR_SETTINGS_IMAGES_PASSWORD_CHECK_NEUTRAL_DARK_SVG},
{"images/password_check_positive.svg",
IDR_SETTINGS_IMAGES_PASSWORD_CHECK_POSITIVE_SVG},
{"images/password_check_positive_dark.svg",
IDR_SETTINGS_IMAGES_PASSWORD_CHECK_POSITIVE_DARK_SVG},
};
webui::AddResourcePathsBulk(html_source, kSvgResources);
#else
webui::SetupWebUIDataSource(
html_source, base::make_span(kSettingsResources, kSettingsResourcesSize),
"", IDR_SETTINGS_SETTINGS_V3_HTML);
#endif
"", IDR_SETTINGS_SETTINGS_HTML);
AddLocalizedStrings(html_source, profile, web_ui->GetWebContents());
......
......@@ -179,9 +179,6 @@
"includes": [1780],
"structures": [1800],
},
"chrome/browser/resources/settings/settings_resources_vulcanized.grd": {
"includes": [1820],
},
"<(SHARED_INTERMEDIATE_DIR)/chrome/browser/resources/settings/settings_resources.grd": {
"META": {"sizes": {"includes": [500],}},
"includes": [1830],
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment