Commit 6cfb896d authored by rbpotter's avatar rbpotter Committed by Commit Bot

New Tab Page: Use preprocess_grit to create rollup input

NTP also adds its own custom grit define that is separate from the
standard chrome grit defines, so modify preprocess_grit.gni to allow
passing extra grit defines to preprocess_grit.

This also enables the possibility of copying some mojo files to the
new preprocessed folder for  bundling in future (planned for a
followup).

Bug: 1128583
Change-Id: Iaa42fe3dab695c77c75f413e9b7a7a6fddb7cbdf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2430584
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Auto-Submit: Rebekah Potter <rbpotter@chromium.org>
Reviewed-by: default avatarLei Zhang <thestig@chromium.org>
Reviewed-by: default avatarTibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: default avatardpapad <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#814104}
parent 39db68a5
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
import("//chrome/browser/resources/optimize_webui.gni") import("//chrome/browser/resources/optimize_webui.gni")
import("//chrome/common/features.gni") import("//chrome/common/features.gni")
import("//third_party/closure_compiler/compile_js.gni") import("//third_party/closure_compiler/compile_js.gni")
import("//tools/grit/grit_rule.gni") import("//tools/grit/preprocess_grit.gni")
import("//tools/polymer/html_to_js.gni") import("//tools/polymer/html_to_js.gni")
import("//ui/webui/webui_features.gni") import("//ui/webui/webui_features.gni")
...@@ -264,52 +264,58 @@ group("web_components") { ...@@ -264,52 +264,58 @@ group("web_components") {
} }
if (optimize_webui) { if (optimize_webui) {
grit("unoptimized_resources") { preprocess_folder = "preprocessed"
source = "new_tab_page_resources.grd"
preprocess_grit("preprocess") {
deps = [ defines = [ "is_official_build=$is_official_build" ]
"//chrome/browser/promo_browser_command:mojo_bindings_js", in_folder = "./"
"//chrome/browser/resources/new_tab_page:web_components", out_folder = "$target_gen_dir/$preprocess_folder"
"//chrome/browser/search/shopping_tasks:mojo_bindings_js", in_files = [
"//chrome/browser/ui/webui/new_tab_page:mojo_bindings_js", "new_tab_page.js",
"//skia/public/mojom:mojom_js", "one_google_bar_api.js",
] "promo_browser_command_proxy.js",
"img.js",
grit_flags = [ "browser_proxy.js",
"-E", "utils.js",
"root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir), "background_manager.js",
] ]
defines = chrome_grit_defines + [ "is_official_build=$is_official_build" ]
outputs = [
"grit/new_tab_page_resources.h",
"grit/new_tab_page_resources_map.cc",
"grit/new_tab_page_resources_map.h",
"new_tab_page_resources.pak",
]
output_dir = "$root_gen_dir/chrome/browser/resources/new_tab_page"
} }
unpak("unpak") { preprocess_grit("preprocess_gen") {
pak_file = "new_tab_page_resources.pak" deps = [ ":web_components" ]
out_folder = "unpak" defines = [ "is_official_build=$is_official_build" ]
deps = [ ":unoptimized_resources" ] in_folder = target_gen_dir
out_folder = "$target_gen_dir/$preprocess_folder"
excludes = [ in_files = [
"../../promo_browser_command/promo_browser_command.mojom-lite.js", "app.js",
"../../search/shopping_tasks/shopping_tasks.mojom-lite.js", "middle_slot_promo.js",
"../../ui/webui/new_tab_page/new_tab_page.mojom-lite.js", "most_visited.js",
"../../../common/search/omnibox.mojom-lite.js", "customize_dialog.js",
"../../../../skia/public/mojom/skcolor.mojom-lite.js", "voice_search_overlay.js",
"customize_backgrounds.js",
"customize_shortcuts.js",
"iframe.js",
"mini_page.js",
"fakebox.js",
"logo.js",
"doodle_share_dialog.js",
"realbox.js",
"realbox_button.js",
"realbox_dropdown.js",
"realbox_icon.js",
"realbox_match.js",
] ]
} }
optimize_webui("optimized_js") { optimize_webui("optimized_js") {
host = "new-tab-page" host = "new-tab-page"
input = rebase_path("$target_gen_dir/unpak", root_build_dir) input = rebase_path("$target_gen_dir/$preprocess_folder", root_build_dir)
deps = [ deps = [
":unpak", ":preprocess",
":preprocess_gen",
"../../../../ui/webui/resources:preprocess", "../../../../ui/webui/resources:preprocess",
"modules:preprocess",
"modules:preprocess_gen",
] ]
js_module_in_files = [ "new_tab_page.js" ] js_module_in_files = [ "new_tab_page.js" ]
js_out_files = [ "new_tab_page.rollup.js" ] js_out_files = [ "new_tab_page.rollup.js" ]
......
...@@ -2,8 +2,11 @@ ...@@ -2,8 +2,11 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//chrome/common/features.gni")
import("//third_party/closure_compiler/compile_js.gni") import("//third_party/closure_compiler/compile_js.gni")
import("//tools/grit/preprocess_grit.gni")
import("//tools/polymer/html_to_js.gni") import("//tools/polymer/html_to_js.gni")
import("//ui/webui/webui_features.gni")
js_library("module_descriptor") { js_library("module_descriptor") {
} }
...@@ -42,3 +45,35 @@ group("web_components") { ...@@ -42,3 +45,35 @@ group("web_components") {
"shopping_tasks:web_components", "shopping_tasks:web_components",
] ]
} }
if (optimize_webui) {
# Up one folder to get to the root NTP gen dir, where files need to live
# for bundling.
preprocess_folder = "../preprocessed/modules"
preprocess_grit("preprocess") {
defines = [ "is_official_build=$is_official_build" ]
in_folder = "./"
out_folder = "$target_gen_dir/$preprocess_folder"
in_files = [
"kaleidoscope/module.js",
"module_descriptor.js",
"modules.js",
"module_registry.js",
"shopping_tasks/shopping_tasks_handler_proxy.js",
]
}
preprocess_grit("preprocess_gen") {
deps = [ ":web_components" ]
defines = [ "is_official_build=$is_official_build" ]
in_folder = target_gen_dir
out_folder = "$target_gen_dir/$preprocess_folder"
in_files = [
"module_wrapper.js",
"dummy/module.js",
"shopping_tasks/module.js",
]
}
}
...@@ -27,6 +27,15 @@ template("preprocess_grit") { ...@@ -27,6 +27,15 @@ template("preprocess_grit") {
"--in-files", "--in-files",
] + invoker.in_files + grit_defines ] + invoker.in_files + grit_defines
if (defined(invoker.defines)) {
foreach(define, invoker.defines) {
args += [
"-D",
define,
]
}
}
if (defined(invoker.out_manifest)) { if (defined(invoker.out_manifest)) {
args += [ args += [
"--out-manifest", "--out-manifest",
......
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