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

Side by Side Diff: android_webview/BUILD.gn

Issue 2343083003: Add resource whitelisting to android_webview pak files. (Closed)
Patch Set: add owners file 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 unified diff | Download patch
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//build/config/android/config.gni") 5 import("//build/config/android/config.gni")
6 import("//build/config/android/rules.gni") 6 import("//build/config/android/rules.gni")
7 import("//build/config/locales.gni") 7 import("//build/config/locales.gni")
8 import("//tools/grit/repack.gni") 8 import("//tools/grit/repack.gni")
9 import("//tools/resources/generate_resource_whitelist.gni")
9 import("system_webview_apk_tmpl.gni") 10 import("system_webview_apk_tmpl.gni")
10 import("webview_repack_locales.gni") 11 import("webview_repack_locales.gni")
11 12
12 declare_args() { 13 declare_args() {
13 # Package name of the system_webview_apk target. 14 # Package name of the system_webview_apk target.
14 system_webview_package_name = "com.android.webview" 15 system_webview_package_name = "com.android.webview"
15 } 16 }
16 17
17 if (!defined(use_webview_internal_framework)) { 18 if (!defined(use_webview_internal_framework)) {
18 use_webview_internal_framework = false 19 use_webview_internal_framework = false
19 } 20 }
20 21
22 if (enable_resource_whitelist_generation) {
23 system_webview_pak_whitelist =
24 "$target_gen_dir/system_webview_pak_whitelist.txt"
25 }
26
21 system_webview_android_manifest = 27 system_webview_android_manifest =
22 "$target_gen_dir/system_webview_apk/AndroidManifest.xml" 28 "$target_gen_dir/system_webview_apk/AndroidManifest.xml"
23 29
24 group("android_webview") { 30 group("android_webview") {
25 if (!use_webview_internal_framework) { 31 if (!use_webview_internal_framework) {
26 deps = [ 32 deps = [
27 ":system_webview_apk", 33 ":system_webview_apk",
28 ] 34 ]
29 } 35 }
30 } 36 }
31 37
32 jinja_template("system_webview_manifest") { 38 jinja_template("system_webview_manifest") {
33 input = "apk/java/AndroidManifest.xml" 39 input = "apk/java/AndroidManifest.xml"
34 output = system_webview_android_manifest 40 output = system_webview_android_manifest
35 variables = [ "package=$system_webview_package_name" ] 41 variables = [ "package=$system_webview_package_name" ]
36 } 42 }
37 43
38 webview_repack_locales("repack_locales") { 44 webview_repack_locales("repack_locales") {
39 input_locales = locales 45 input_locales = locales
40 output_locales = locales 46 output_locales = locales
47
48 if (enable_resource_whitelist_generation) {
49 repack_whitelist = system_webview_pak_whitelist
50 deps = [
51 ":system_webview_pak_whitelist",
52 ]
53 }
41 } 54 }
42 55
43 locale_pak_resources("locale_paks") { 56 locale_pak_resources("locale_paks") {
44 sources = [ 57 sources = [
45 "$root_out_dir/android_webview/locales/am.pak", 58 "$root_out_dir/android_webview/locales/am.pak",
46 "$root_out_dir/android_webview/locales/ar.pak", 59 "$root_out_dir/android_webview/locales/ar.pak",
47 "$root_out_dir/android_webview/locales/bg.pak", 60 "$root_out_dir/android_webview/locales/bg.pak",
48 "$root_out_dir/android_webview/locales/bn.pak", 61 "$root_out_dir/android_webview/locales/bn.pak",
49 "$root_out_dir/android_webview/locales/ca.pak", 62 "$root_out_dir/android_webview/locales/ca.pak",
50 "$root_out_dir/android_webview/locales/cs.pak", 63 "$root_out_dir/android_webview/locales/cs.pak",
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 "$root_gen_dir/net/net_resources.pak", 121 "$root_gen_dir/net/net_resources.pak",
109 "$target_gen_dir/aw_resources.pak", 122 "$target_gen_dir/aw_resources.pak",
110 ] 123 ]
111 deps = [ 124 deps = [
112 ":generate_aw_resources", 125 ":generate_aw_resources",
113 "//content:resources", 126 "//content:resources",
114 "//net:net_resources", 127 "//net:net_resources",
115 "//third_party/WebKit/public:resources", 128 "//third_party/WebKit/public:resources",
116 ] 129 ]
117 output = "$target_gen_dir/resources.pak" 130 output = "$target_gen_dir/resources.pak"
131
132 if (enable_resource_whitelist_generation) {
133 repack_whitelist = system_webview_pak_whitelist
134 deps += [ ":system_webview_pak_whitelist" ]
135 }
118 } 136 }
119 137
120 repack("repack_100_percent") { 138 repack("repack_100_percent") {
121 sources = [ 139 sources = [
122 "$root_gen_dir/blink/public/resources/blink_image_resources_100_percent.pak" , 140 "$root_gen_dir/blink/public/resources/blink_image_resources_100_percent.pak" ,
123 "$root_gen_dir/content/app/resources/content_resources_100_percent.pak", 141 "$root_gen_dir/content/app/resources/content_resources_100_percent.pak",
124 "$root_gen_dir/ui/resources/ui_resources_100_percent.pak", 142 "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
125 ] 143 ]
126 deps = [ 144 deps = [
127 "//content/app/resources", 145 "//content/app/resources",
128 "//third_party/WebKit/public:image_resources", 146 "//third_party/WebKit/public:image_resources",
129 "//ui/resources", 147 "//ui/resources",
130 ] 148 ]
131 output = "$target_gen_dir/chrome_100_percent.pak" 149 output = "$target_gen_dir/chrome_100_percent.pak"
150
151 if (enable_resource_whitelist_generation) {
152 repack_whitelist = system_webview_pak_whitelist
153 deps += [ ":system_webview_pak_whitelist" ]
154 }
132 } 155 }
133 156
134 webview_license_path = "$target_gen_dir/webview_licenses.notice" 157 webview_license_path = "$target_gen_dir/webview_licenses.notice"
135 158
136 android_assets("pak_file_assets") { 159 android_assets("pak_file_assets") {
137 sources = [ 160 sources = [
138 "$target_gen_dir/chrome_100_percent.pak", 161 "$target_gen_dir/chrome_100_percent.pak",
139 "$target_gen_dir/resources.pak", 162 "$target_gen_dir/resources.pak",
140 ] 163 ]
141 deps = [ 164 deps = [
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 "aw_strings_zh-TW.pak", 284 "aw_strings_zh-TW.pak",
262 ] 285 ]
263 } 286 }
264 287
265 grit("generate_components_strings") { 288 grit("generate_components_strings") {
266 source = "../components/components_strings.grd" 289 source = "../components/components_strings.grd"
267 290
268 # components_strings contains strings from all components. WebView 291 # components_strings contains strings from all components. WebView
269 # will never display most of them, so we try to limit the included 292 # will never display most of them, so we try to limit the included
270 # strings 293 # strings
271 whitelist = rebase_path("ui/grit_components_whitelist.txt") 294 whitelist = rebase_path("ui/grit_components_whitelist.txt")
michaelbai 2016/09/19 21:02:06 Here, we manually add whitelist, would you mind to
agrieve 2016/09/20 00:48:34 Wow, didn't even notice this. Tested removing it,
michaelbai 2016/09/20 01:01:01 It probably means we could do more to remove the u
agrieve 2016/09/20 01:08:58 It's certainly possible. Right now if the compiler
272 inputs = [ 295 inputs = [
273 whitelist, 296 whitelist,
274 ] 297 ]
275 grit_flags = [ 298 grit_flags = [
276 "-w", 299 "-w",
277 whitelist, 300 whitelist,
278 ] 301 ]
279 outputs = [ 302 outputs = [
280 "grit/components_strings.h", 303 "grit/components_strings.h",
281 "components_strings_am.pak", 304 "components_strings_am.pak",
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 420
398 if (android_64bit_target_cpu) { 421 if (android_64bit_target_cpu) {
399 shared_library("monochrome") { 422 shared_library("monochrome") {
400 deps = [ 423 deps = [
401 ":webview_entry_point", 424 ":webview_entry_point",
402 ] 425 ]
403 configs -= [ "//build/config/android:hide_native_jni_exports" ] 426 configs -= [ "//build/config/android:hide_native_jni_exports" ]
404 } 427 }
405 } 428 }
406 429
430 if (enable_resource_whitelist_generation) {
431 generate_resource_whitelist("system_webview_pak_whitelist") {
432 deps = [
433 ":libwebviewchromium",
434 ]
435 input = "$root_out_dir/libwebviewchromium$shlib_extension.whitelist"
michaelbai 2016/09/19 19:06:13 Sorry, I missed context here, could you show me wh
agrieve 2016/09/19 19:10:32 Searching for "enable_resource_whitelist_generatio
michaelbai 2016/09/19 21:02:06 Thanks for your explanation, now I understand how
agrieve 2016/09/20 00:48:34 shlib_extension is defined here: build/toolchain/t
436 output = system_webview_pak_whitelist
437 }
438 }
439
407 source_set("common") { 440 source_set("common") {
408 sources = [ 441 sources = [
409 "browser/aw_browser_context.cc", 442 "browser/aw_browser_context.cc",
410 "browser/aw_browser_context.h", 443 "browser/aw_browser_context.h",
411 "browser/aw_browser_main_parts.cc", 444 "browser/aw_browser_main_parts.cc",
412 "browser/aw_browser_main_parts.h", 445 "browser/aw_browser_main_parts.h",
413 "browser/aw_browser_permission_request_delegate.h", 446 "browser/aw_browser_permission_request_delegate.h",
414 "browser/aw_browser_policy_connector.cc", 447 "browser/aw_browser_policy_connector.cc",
415 "browser/aw_browser_policy_connector.h", 448 "browser/aw_browser_policy_connector.h",
416 "browser/aw_content_browser_client.cc", 449 "browser/aw_content_browser_client.cc",
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 system_webview_apk_tmpl("system_webview_apk") { 821 system_webview_apk_tmpl("system_webview_apk") {
789 android_manifest = system_webview_android_manifest 822 android_manifest = system_webview_android_manifest
790 android_manifest_dep = ":system_webview_manifest" 823 android_manifest_dep = ":system_webview_manifest"
791 deps = [ 824 deps = [
792 ":system_webview_resources", 825 ":system_webview_resources",
793 "//android_webview/glue", 826 "//android_webview/glue",
794 ] 827 ]
795 apk_name = "SystemWebView" 828 apk_name = "SystemWebView"
796 } 829 }
797 } 830 }
OLDNEW
« no previous file with comments | « no previous file | android_webview/webview_repack_locales.gni » ('j') | tools/resources/generate_resource_whitelist.gni » ('J')

Powered by Google App Engine
This is Rietveld 408576698