OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 } |
OLD | NEW |