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

WebUI: Auto-generate js/cr/ui/ resources grdp file.

 - Include webui_generated_resources.grd to Android and
   iOS builds (previously only included on Desktop).
 - Update shared_resources_data_source.cc and
   shared_resources_data_source_ios.mm accordingly.
 - Update various BUILD.gn file as needed.
 - Move all ui/webui/resources/js/cr/ui/ files from
   webui_resources.grd to webui_generated_resources.grd.

Bug: 1132403
Change-Id: I7e92caf28f80ce31ce6e9009e63821037283e508
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2503814Reviewed-by: default avatarEugene But <eugenebut@chromium.org>
Reviewed-by: default avatarRohit Rao <rohitrao@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Commit-Queue: dpapad <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#823719}
parent a656f852
...@@ -102,6 +102,7 @@ template("chrome_extra_paks") { ...@@ -102,6 +102,7 @@ template("chrome_extra_paks") {
"$root_gen_dir/skia/skia_resources.pak", "$root_gen_dir/skia/skia_resources.pak",
"$root_gen_dir/third_party/blink/public/resources/blink_resources.pak", "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
"$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak", "$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak",
"$root_gen_dir/ui/resources/webui_generated_resources.pak",
"$root_gen_dir/ui/resources/webui_resources.pak", "$root_gen_dir/ui/resources/webui_resources.pak",
] ]
deps = [ deps = [
...@@ -145,7 +146,6 @@ template("chrome_extra_paks") { ...@@ -145,7 +146,6 @@ template("chrome_extra_paks") {
"$root_gen_dir/chrome/tab_search_resources.pak", "$root_gen_dir/chrome/tab_search_resources.pak",
"$root_gen_dir/content/browser/devtools/devtools_resources.pak", "$root_gen_dir/content/browser/devtools/devtools_resources.pak",
"$root_gen_dir/headless/headless_lib_resources.pak", "$root_gen_dir/headless/headless_lib_resources.pak",
"$root_gen_dir/ui/resources/webui_generated_resources.pak",
] ]
deps += [ deps += [
"//chrome/browser/media/kaleidoscope:kaleidoscope_resources", "//chrome/browser/media/kaleidoscope:kaleidoscope_resources",
......
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
#include "skia/grit/skia_resources_map.h" #include "skia/grit/skia_resources_map.h"
#include "ui/base/layout.h" #include "ui/base/layout.h"
#include "ui/base/webui/web_ui_util.h" #include "ui/base/webui/web_ui_util.h"
#include "ui/resources/grit/webui_generated_resources_map.h"
#include "ui/resources/grit/webui_resources.h" #include "ui/resources/grit/webui_resources.h"
#include "ui/resources/grit/webui_resources_map.h" #include "ui/resources/grit/webui_resources_map.h"
...@@ -46,10 +47,6 @@ ...@@ -46,10 +47,6 @@
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#endif #endif
#if !defined(OS_ANDROID)
#include "ui/resources/grit/webui_generated_resources_map.h"
#endif
namespace content { namespace content {
namespace { namespace {
...@@ -228,11 +225,9 @@ const ResourcesMap* CreateResourcesMap() { ...@@ -228,11 +225,9 @@ const ResourcesMap* CreateResourcesMap() {
AddAliasedResourcesToMap(CreateContentResourceIdToAliasMap(), AddAliasedResourcesToMap(CreateContentResourceIdToAliasMap(),
kMediaInternalsResources, kMediaInternalsResources,
kMediaInternalsResourcesSize, result); kMediaInternalsResourcesSize, result);
#if !defined(OS_ANDROID)
AddGritResourcesToMap( AddGritResourcesToMap(
base::make_span(kWebuiGeneratedResources, kWebuiGeneratedResourcesSize), base::make_span(kWebuiGeneratedResources, kWebuiGeneratedResourcesSize),
result); result);
#endif
AddGritResourcesToMap( AddGritResourcesToMap(
base::make_span(kMojoBindingsResources, kMojoBindingsResourcesSize), base::make_span(kMojoBindingsResources, kMojoBindingsResourcesSize),
result); result);
......
...@@ -64,6 +64,7 @@ repack("repack_unscaled_resources") { ...@@ -64,6 +64,7 @@ repack("repack_unscaled_resources") {
"$root_gen_dir/ios/web/ios_web_resources.pak", "$root_gen_dir/ios/web/ios_web_resources.pak",
"$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak", "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
"$root_gen_dir/net/net_resources.pak", "$root_gen_dir/net/net_resources.pak",
"$root_gen_dir/ui/resources/webui_generated_resources.pak",
"$root_gen_dir/ui/resources/webui_resources.pak", "$root_gen_dir/ui/resources/webui_resources.pak",
] ]
deps = [ deps = [
......
...@@ -17,6 +17,7 @@ repack("packed_resources") { ...@@ -17,6 +17,7 @@ repack("packed_resources") {
sources = [ sources = [
"$root_gen_dir/ios/web/ios_web_resources.pak", "$root_gen_dir/ios/web/ios_web_resources.pak",
"$root_gen_dir/ios/web/test/test_resources.pak", "$root_gen_dir/ios/web/test/test_resources.pak",
"$root_gen_dir/ui/resources/webui_generated_resources.pak",
"$root_gen_dir/ui/resources/webui_resources.pak", "$root_gen_dir/ui/resources/webui_resources.pak",
] ]
deps = [ deps = [
......
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
#import "ios/web/public/web_client.h" #import "ios/web/public/web_client.h"
#include "net/base/mime_util.h" #include "net/base/mime_util.h"
#include "ui/base/webui/web_ui_util.h" #include "ui/base/webui/web_ui_util.h"
#include "ui/resources/grit/webui_generated_resources.h"
#include "ui/resources/grit/webui_generated_resources_map.h"
#include "ui/resources/grit/webui_resources.h" #include "ui/resources/grit/webui_resources.h"
#include "ui/resources/grit/webui_resources_map.h" #include "ui/resources/grit/webui_resources_map.h"
...@@ -34,6 +36,10 @@ const GritResourceMap* PathToResource(const std::string& path) { ...@@ -34,6 +36,10 @@ const GritResourceMap* PathToResource(const std::string& path) {
if (path == kWebuiResources[i].name) if (path == kWebuiResources[i].name)
return &kWebuiResources[i]; return &kWebuiResources[i];
} }
for (size_t i = 0; i < kWebuiGeneratedResourcesSize; ++i) {
if (path == kWebuiGeneratedResources[i].name)
return &kWebuiGeneratedResources[i];
}
return nullptr; return nullptr;
} }
......
...@@ -562,6 +562,7 @@ repack("repack_resources") { ...@@ -562,6 +562,7 @@ repack("repack_resources") {
"$root_gen_dir/components/components_resources.pak", "$root_gen_dir/components/components_resources.pak",
"$root_gen_dir/components/sync_driver_resources.pak", "$root_gen_dir/components/sync_driver_resources.pak",
"$root_gen_dir/ios/web/ios_web_resources.pak", "$root_gen_dir/ios/web/ios_web_resources.pak",
"$root_gen_dir/ui/resources/webui_generated_resources.pak",
"$root_gen_dir/ui/resources/webui_resources.pak", "$root_gen_dir/ui/resources/webui_resources.pak",
] ]
output = "$target_gen_dir/web_view_resources.pak" output = "$target_gen_dir/web_view_resources.pak"
......
...@@ -10,11 +10,9 @@ group("resources") { ...@@ -10,11 +10,9 @@ group("resources") {
public_deps = [ public_deps = [
":ui_resources_grd", ":ui_resources_grd",
":ui_unscaled_resources_grd", ":ui_unscaled_resources_grd",
":webui_generated_resources_grd",
":webui_resources_grd", ":webui_resources_grd",
] ]
if (!is_android && !is_ios) {
public_deps += [ ":webui_generated_resources_grd" ]
}
} }
grit("ui_resources_grd") { grit("ui_resources_grd") {
...@@ -58,27 +56,25 @@ grit("webui_resources_grd") { ...@@ -58,27 +56,25 @@ grit("webui_resources_grd") {
] ]
} }
if (!is_android && !is_ios) { grit("webui_generated_resources_grd") {
grit("webui_generated_resources_grd") { enable_input_discovery_for_gn_analyze = false
enable_input_discovery_for_gn_analyze = false defines =
defines = [ "SHARED_INTERMEDIATE_DIR=" + [ "SHARED_INTERMEDIATE_DIR=" + rebase_path(root_gen_dir, root_build_dir) ]
rebase_path(root_gen_dir, root_build_dir) ] source = "$root_gen_dir/ui/webui/resources/webui_generated_resources.grd"
source = "$root_gen_dir/ui/webui/resources/webui_generated_resources.grd" deps = [ "//ui/webui/resources:build_grd" ]
deps = [ "//ui/webui/resources:build_grd" ]
outputs = [
outputs = [ "grit/webui_generated_resources.h",
"grit/webui_generated_resources.h", "grit/webui_generated_resources_map.cc",
"grit/webui_generated_resources_map.cc", "grit/webui_generated_resources_map.h",
"grit/webui_generated_resources_map.h", "webui_generated_resources.pak",
"webui_generated_resources.pak", ]
] 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",
"-E", "root_src_dir=" + rebase_path("//", root_build_dir),
"root_src_dir=" + rebase_path("//", root_build_dir), ]
]
}
} }
if (!is_mac) { if (!is_mac) {
......
...@@ -10,30 +10,31 @@ preprocess_folder = "preprocessed" ...@@ -10,30 +10,31 @@ preprocess_folder = "preprocessed"
include_polymer = !is_android && !is_ios include_polymer = !is_android && !is_ios
if (include_polymer) { generate_grd("build_grd") {
# Note: Currently webui_generated_resources.grd contains only Polymer-related grd_prefix = "webui_generated"
# files so no need to exist where Polymer is not available. This might out_grd = "$target_gen_dir/${grd_prefix}_resources.grd"
# change as more files are moved to webui_generated_resources.grd.
generate_grd("build_grd") { deps = [ "js/cr/ui:build_grdp" ]
grd_prefix = "webui_generated" grdp_files = [ "$root_gen_dir/ui/webui/resources/js/cr/ui/resources.grdp" ]
out_grd = "$target_gen_dir/${grd_prefix}_resources.grd"
deps = [ if (include_polymer) {
deps += [
"cr_components:build_grdp", "cr_components:build_grdp",
"cr_elements:build_grdp", "cr_elements:build_grdp",
"//third_party/polymer/v1_0:build_grdp", "//third_party/polymer/v1_0:build_grdp",
"//third_party/polymer/v3_0:build_grdp", "//third_party/polymer/v3_0:build_grdp",
] ]
grdp_files = [ grdp_files += [
"$root_gen_dir/third_party/polymer/v1_0/polymer_1_0_resources.grdp", "$root_gen_dir/third_party/polymer/v1_0/polymer_1_0_resources.grdp",
"$root_gen_dir/third_party/polymer/v3_0/polymer_3_0_resources.grdp", "$root_gen_dir/third_party/polymer/v3_0/polymer_3_0_resources.grdp",
"$root_gen_dir/ui/webui/resources/cr_elements/cr_elements_resources.grdp",
"$root_gen_dir/ui/webui/resources/cr_components/cr_components_resources.grdp", "$root_gen_dir/ui/webui/resources/cr_components/cr_components_resources.grdp",
"$root_gen_dir/ui/webui/resources/cr_elements/cr_elements_resources.grdp",
] ]
}
if (is_chromeos) { if (is_chromeos) {
deps += [ "//third_party/web-animations-js:build_grdp" ] deps += [ "//third_party/web-animations-js:build_grdp" ]
grdp_files += [ "$root_gen_dir/third_party/web-animations-js/web_animations_resources.grdp" ] grdp_files += [ "$root_gen_dir/third_party/web-animations-js/web_animations_resources.grdp" ]
}
} }
} }
...@@ -43,6 +44,7 @@ group("preprocess") { ...@@ -43,6 +44,7 @@ group("preprocess") {
":preprocess_src", ":preprocess_src",
"cr_components:preprocess", "cr_components:preprocess",
"cr_elements:preprocess", "cr_elements:preprocess",
"js/cr/ui:preprocess",
] ]
} }
...@@ -70,13 +72,6 @@ preprocess_grit("preprocess_generated") { ...@@ -70,13 +72,6 @@ preprocess_grit("preprocess_generated") {
"js/promise_resolver.m.js", "js/promise_resolver.m.js",
"js/util.m.js", "js/util.m.js",
"js/cr/event_target.m.js", "js/cr/event_target.m.js",
"js/cr/ui/drag_wrapper.m.js",
"js/cr/ui/focus_grid.m.js",
"js/cr/ui/focus_outline_manager.m.js",
"js/cr/ui/focus_row.m.js",
"js/cr/ui/keyboard_shortcut_list.m.js",
"js/cr/ui/store_client.m.js",
"js/cr/ui/store.m.js",
] ]
if (include_polymer) { if (include_polymer) {
...@@ -85,8 +80,6 @@ preprocess_grit("preprocess_generated") { ...@@ -85,8 +80,6 @@ preprocess_grit("preprocess_generated") {
"js/list_property_update_behavior.m.js", "js/list_property_update_behavior.m.js",
"js/search_highlight_utils.m.js", "js/search_highlight_utils.m.js",
"js/web_ui_listener_behavior.m.js", "js/web_ui_listener_behavior.m.js",
"js/cr/ui/focus_row_behavior.m.js",
"js/cr/ui/focus_without_ink.m.js",
] ]
} }
} }
......
...@@ -25,10 +25,6 @@ ...@@ -25,10 +25,6 @@
<!-- JS resources --> <!-- JS resources -->
<structure name="IDR_WEBUI_JS_I18N_BEHAVIOR" <structure name="IDR_WEBUI_JS_I18N_BEHAVIOR"
file="js/i18n_behavior.js" type="chrome_html" preprocess="true" /> file="js/i18n_behavior.js" type="chrome_html" preprocess="true" />
<structure name="IDR_WEBUI_JS_CR_UI_FOCUS_ROW_BEHAVIOR"
file="js/cr/ui/focus_row_behavior.js" type="chrome_html" />
<structure name="IDR_WEBUI_JS_CR_UI_FOCUS_WITHOUT_INK"
file="js/cr/ui/focus_without_ink.js" type="chrome_html" />
<structure name="IDR_WEBUI_JS_LIST_PROPERTY_UPDATE_BEHAVIOR" <structure name="IDR_WEBUI_JS_LIST_PROPERTY_UPDATE_BEHAVIOR"
file="js/list_property_update_behavior.js" type="chrome_html" /> file="js/list_property_update_behavior.js" type="chrome_html" />
<structure name="IDR_WEBUI_JS_POLYMER_CONFIG" <structure name="IDR_WEBUI_JS_POLYMER_CONFIG"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<grit-part> <grit-part>
<include name="IDR_WEBUI_JS_CR_UI_FOCUS_ROW_BEHAVIOR_M_JS"
file="${root_gen_dir}/ui/webui/resources/js/cr/ui/focus_row_behavior.m.js"
use_base_dir="false" type="BINDATA" />
<include name="IDR_WEBUI_JS_I18N_BEHAVIOR_M_JS" <include name="IDR_WEBUI_JS_I18N_BEHAVIOR_M_JS"
file="${root_gen_dir}/ui/webui/resources/js/i18n_behavior.m.js" file="${root_gen_dir}/ui/webui/resources/js/i18n_behavior.m.js"
use_base_dir="false" type="BINDATA" use_base_dir="false" type="BINDATA"
......
...@@ -3,9 +3,127 @@ ...@@ -3,9 +3,127 @@
# found in the LICENSE file. # found in the LICENSE file.
import("//third_party/closure_compiler/compile_js.gni") import("//third_party/closure_compiler/compile_js.gni")
import("//tools/grit/preprocess_grit.gni")
import("//ui/webui/resources/tools/generate_grd.gni")
import("../../../tools/js_modulizer.gni") import("../../../tools/js_modulizer.gni")
import("../../cr.gni") import("../../cr.gni")
preprocess_folder = "$root_gen_dir/ui/webui/resources/preprocessed/js/cr/ui"
preprocess_src_manifest = "preprocessed_src_manifest.json"
preprocess_gen_manifest = "preprocessed_gen_manifest.json"
generate_grd("build_grdp") {
grd_prefix = "webui_js_cr_ui"
out_grd = "$target_gen_dir/resources.grdp"
deps = [ ":preprocess" ]
manifest_files = [
"$target_gen_dir/$preprocess_gen_manifest",
"$target_gen_dir/$preprocess_src_manifest",
]
resource_path_prefix = "js/cr/ui"
}
group("preprocess") {
public_deps = [
":preprocess_generated",
":preprocess_src",
]
}
preprocess_grit("preprocess_src") {
in_folder = "./"
out_folder = "$preprocess_folder"
out_manifest = "$target_gen_dir/$preprocess_src_manifest"
in_files = [
"array_data_model.js",
"bubble_button.js",
"bubble.js",
"card_slider.js",
"command.js",
"context_menu_handler.js",
"controlled_indicator.js",
"dialogs.js",
"drag_wrapper.js",
"focus_grid.js",
"focus_manager.js",
"focus_outline_manager.js",
"focus_row.js",
"keyboard_shortcut_list.js",
"list_item.js",
"list.js",
"list_selection_controller.js",
"list_selection_model.js",
"list_single_selection_model.js",
"menu_button.js",
"menu_item.js",
"menu.js",
"overlay.js",
"position_util.js",
"splitter.js",
"store_client.js",
"store.js",
"tabs.js",
"touch_handler.js",
"tree.js",
]
if (!is_android) {
in_files += [
"focus_row_behavior.js",
"focus_without_ink.js",
]
}
if (is_chromeos) {
in_files += [ "grid.js" ]
}
}
preprocess_grit("preprocess_generated") {
deps = [ ":modulize" ]
in_folder = target_gen_dir
out_folder = "$preprocess_folder"
out_manifest = "$target_gen_dir/$preprocess_gen_manifest"
in_files = [
"drag_wrapper.m.js",
"focus_grid.m.js",
"focus_outline_manager.m.js",
"focus_row.m.js",
"keyboard_shortcut_list.m.js",
"store_client.m.js",
"store.m.js",
"tabs.m.js",
"tree.m.js",
]
if (!is_android) {
in_files += [
"focus_row_behavior.m.js",
"focus_without_ink.m.js",
]
}
if (is_chromeos) {
in_files += [
"array_data_model.m.js",
"command.m.js",
"context_menu_handler.m.js",
"dialogs.m.js",
"grid.m.js",
"list_item.m.js",
"list.m.js",
"list_selection_controller.m.js",
"list_selection_model.m.js",
"list_single_selection_model.m.js",
"menu_button.m.js",
"menu_item.m.js",
"menu.m.js",
"position_util.m.js",
"splitter.m.js",
]
}
}
group("closure_compile") { group("closure_compile") {
deps = [ deps = [
":ui_resources", ":ui_resources",
......
This diff is collapsed.
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