Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5639)

Unified Diff: android_webview/BUILD.gn

Issue 2343083003: Add resource whitelisting to android_webview pak files. (Closed)
Patch Set: better docs Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | android_webview/webview_repack_locales.gni » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: android_webview/BUILD.gn
diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn
index 90949095041e38ff459b30d08fb080bca95e68b1..c2cbd8bbb238725f21e511c4e3f4a07815143491 100644
--- a/android_webview/BUILD.gn
+++ b/android_webview/BUILD.gn
@@ -6,6 +6,7 @@ import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
import("//build/config/locales.gni")
import("//tools/grit/repack.gni")
+import("//tools/resources/generate_resource_whitelist.gni")
import("system_webview_apk_tmpl.gni")
import("webview_repack_locales.gni")
@@ -18,6 +19,11 @@ if (!defined(use_webview_internal_framework)) {
use_webview_internal_framework = false
}
+if (enable_resource_whitelist_generation) {
+ system_webview_pak_whitelist =
+ "$target_gen_dir/system_webview_pak_whitelist.txt"
+}
+
system_webview_android_manifest =
"$target_gen_dir/system_webview_apk/AndroidManifest.xml"
@@ -38,6 +44,13 @@ jinja_template("system_webview_manifest") {
webview_repack_locales("repack_locales") {
input_locales = locales
output_locales = locales
+
+ if (enable_resource_whitelist_generation) {
+ repack_whitelist = system_webview_pak_whitelist
+ deps = [
+ ":system_webview_pak_whitelist",
+ ]
+ }
}
locale_pak_resources("locale_paks") {
@@ -115,6 +128,11 @@ repack("repack_pack") {
"//third_party/WebKit/public:resources",
]
output = "$target_gen_dir/resources.pak"
+
+ if (enable_resource_whitelist_generation) {
+ repack_whitelist = system_webview_pak_whitelist
+ deps += [ ":system_webview_pak_whitelist" ]
+ }
}
repack("repack_100_percent") {
@@ -129,6 +147,11 @@ repack("repack_100_percent") {
"//ui/resources",
]
output = "$target_gen_dir/chrome_100_percent.pak"
+
+ if (enable_resource_whitelist_generation) {
+ repack_whitelist = system_webview_pak_whitelist
+ deps += [ ":system_webview_pak_whitelist" ]
+ }
}
webview_license_path = "$target_gen_dir/webview_licenses.notice"
@@ -267,7 +290,8 @@ grit("generate_components_strings") {
# components_strings contains strings from all components. WebView
# will never display most of them, so we try to limit the included
- # strings
+ # strings. This whitelist trims about 50% more than the compile-based
+ # whitelist generated by :system_webview_pak_whitelist.
whitelist = rebase_path("ui/grit_components_whitelist.txt")
inputs = [
whitelist,
@@ -404,6 +428,16 @@ if (android_64bit_target_cpu) {
}
}
+if (enable_resource_whitelist_generation) {
+ generate_resource_whitelist("system_webview_pak_whitelist") {
+ deps = [
+ ":libwebviewchromium",
+ ]
+ input = "$root_out_dir/libwebviewchromium$shlib_extension.whitelist"
+ output = system_webview_pak_whitelist
+ }
+}
+
source_set("common") {
sources = [
"browser/aw_browser_context.cc",
« no previous file with comments | « no previous file | android_webview/webview_repack_locales.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698