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) { ...@@ -275,21 +275,19 @@ if (!is_android) {
grit_flags = [ grit_flags = [
"-E", "-E",
"root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir), "root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir),
"-E",
"root_src_dir=" + rebase_path("//", root_build_dir),
] ]
defines = chrome_grit_defines defines = chrome_grit_defines
if (optimize_webui) {
source = "settings/settings_resources_vulcanized.grd" # These arguments are needed since the grd is generated at build time.
deps = [ "//chrome/browser/resources/settings:build_polymer3" ] enable_input_discovery_for_gn_analyze = false
} else { defines += [ "SHARED_INTERMEDIATE_DIR=" +
# These arguments are needed since the grd is generated at build time. rebase_path(root_gen_dir, root_build_dir) ]
enable_input_discovery_for_gn_analyze = false gen_dir = "$root_gen_dir/chrome/browser/resources/settings"
defines += [ "SHARED_INTERMEDIATE_DIR=" + source = "$gen_dir/settings_resources.grd"
rebase_path(root_gen_dir, root_build_dir) ] deps = [ "//chrome/browser/resources/settings:build_grd" ]
gen_dir = "$root_gen_dir/chrome/browser/resources/settings"
source = "$gen_dir/settings_resources.grd"
deps = [ "//chrome/browser/resources/settings:build_grd" ]
}
outputs = [ outputs = [
"grit/settings_resources.h", "grit/settings_resources.h",
......
...@@ -18,7 +18,9 @@ preprocess_manifest = "preprocessed_manifest.json" ...@@ -18,7 +18,9 @@ preprocess_manifest = "preprocessed_manifest.json"
preprocess_gen_manifest = "preprocessed_gen_manifest.json" preprocess_gen_manifest = "preprocessed_gen_manifest.json"
if (optimize_webui) { if (optimize_webui) {
optimize_webui("build_polymer3") { build_manifest = "build_manifest.json"
optimize_webui("build") {
host = "settings" host = "settings"
input = rebase_path("$target_gen_dir/$preprocess_folder", root_build_dir) input = rebase_path("$target_gen_dir/$preprocess_folder", root_build_dir)
js_module_in_files = [ js_module_in_files = [
...@@ -30,6 +32,7 @@ if (optimize_webui) { ...@@ -30,6 +32,7 @@ if (optimize_webui) {
"lazy_load.rollup.js", "lazy_load.rollup.js",
"shared.rollup.js", "shared.rollup.js",
] ]
out_manifest = "$target_gen_dir/$build_manifest"
deps = [ deps = [
":preprocess", ":preprocess",
...@@ -42,8 +45,32 @@ if (optimize_webui) { ...@@ -42,8 +45,32 @@ if (optimize_webui) {
"chrome://resources/mojo/skia/public/mojom/skcolor.mojom-lite.js", "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 = [ deps = [
":preprocess", ":preprocess",
":preprocess_generated", ":preprocess_generated",
...@@ -52,8 +79,6 @@ if (optimize_webui) { ...@@ -52,8 +79,6 @@ if (optimize_webui) {
"$target_gen_dir/$preprocess_manifest", "$target_gen_dir/$preprocess_manifest",
"$target_gen_dir/$preprocess_gen_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") { ...@@ -99,22 +124,6 @@ preprocess_grit("preprocess") {
"site_settings/site_settings_behavior.js", "site_settings/site_settings_behavior.js",
"site_settings/site_settings_prefs_browser_proxy.js", "site_settings/site_settings_prefs_browser_proxy.js",
"site_settings/website_usage_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) { 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) ...@@ -329,47 +329,9 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
// Add the metrics handler to write uma stats. // Add the metrics handler to write uma stats.
web_ui->AddMessageHandler(std::make_unique<MetricsHandler>()); 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( webui::SetupWebUIDataSource(
html_source, base::make_span(kSettingsResources, kSettingsResourcesSize), html_source, base::make_span(kSettingsResources, kSettingsResourcesSize),
"", IDR_SETTINGS_SETTINGS_V3_HTML); "", IDR_SETTINGS_SETTINGS_HTML);
#endif
AddLocalizedStrings(html_source, profile, web_ui->GetWebContents()); AddLocalizedStrings(html_source, profile, web_ui->GetWebContents());
......
...@@ -179,9 +179,6 @@ ...@@ -179,9 +179,6 @@
"includes": [1780], "includes": [1780],
"structures": [1800], "structures": [1800],
}, },
"chrome/browser/resources/settings/settings_resources_vulcanized.grd": {
"includes": [1820],
},
"<(SHARED_INTERMEDIATE_DIR)/chrome/browser/resources/settings/settings_resources.grd": { "<(SHARED_INTERMEDIATE_DIR)/chrome/browser/resources/settings/settings_resources.grd": {
"META": {"sizes": {"includes": [500],}}, "META": {"sizes": {"includes": [500],}},
"includes": [1830], "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