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 @@
import("//chrome/browser/resources/optimize_webui.gni")
import("//chrome/common/features.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("//ui/webui/webui_features.gni")
......@@ -264,52 +264,58 @@ group("web_components") {
}
if (optimize_webui) {
grit("unoptimized_resources") {
source = "new_tab_page_resources.grd"
deps = [
"//chrome/browser/promo_browser_command:mojo_bindings_js",
"//chrome/browser/resources/new_tab_page:web_components",
"//chrome/browser/search/shopping_tasks:mojo_bindings_js",
"//chrome/browser/ui/webui/new_tab_page:mojo_bindings_js",
"//skia/public/mojom:mojom_js",
]
grit_flags = [
"-E",
"root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir),
preprocess_folder = "preprocessed"
preprocess_grit("preprocess") {
defines = [ "is_official_build=$is_official_build" ]
in_folder = "./"
out_folder = "$target_gen_dir/$preprocess_folder"
in_files = [
"new_tab_page.js",
"one_google_bar_api.js",
"promo_browser_command_proxy.js",
"img.js",
"browser_proxy.js",
"utils.js",
"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") {
pak_file = "new_tab_page_resources.pak"
out_folder = "unpak"
deps = [ ":unoptimized_resources" ]
excludes = [
"../../promo_browser_command/promo_browser_command.mojom-lite.js",
"../../search/shopping_tasks/shopping_tasks.mojom-lite.js",
"../../ui/webui/new_tab_page/new_tab_page.mojom-lite.js",
"../../../common/search/omnibox.mojom-lite.js",
"../../../../skia/public/mojom/skcolor.mojom-lite.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 = [
"app.js",
"middle_slot_promo.js",
"most_visited.js",
"customize_dialog.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") {
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 = [
":unpak",
":preprocess",
":preprocess_gen",
"../../../../ui/webui/resources:preprocess",
"modules:preprocess",
"modules:preprocess_gen",
]
js_module_in_files = [ "new_tab_page.js" ]
js_out_files = [ "new_tab_page.rollup.js" ]
......
......@@ -2,8 +2,11 @@
# 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("//third_party/closure_compiler/compile_js.gni")
import("//tools/grit/preprocess_grit.gni")
import("//tools/polymer/html_to_js.gni")
import("//ui/webui/webui_features.gni")
js_library("module_descriptor") {
}
......@@ -42,3 +45,35 @@ group("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") {
"--in-files",
] + invoker.in_files + grit_defines
if (defined(invoker.defines)) {
foreach(define, invoker.defines) {
args += [
"-D",
define,
]
}
}
if (defined(invoker.out_manifest)) {
args += [
"--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