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 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 "aw_strings_zh-CN.pak", | 283 "aw_strings_zh-CN.pak", |
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. This whitelist trims about 50% more than the compile-based |
| 294 # whitelist generated by :system_webview_pak_whitelist. |
271 whitelist = rebase_path("ui/grit_components_whitelist.txt") | 295 whitelist = rebase_path("ui/grit_components_whitelist.txt") |
272 inputs = [ | 296 inputs = [ |
273 whitelist, | 297 whitelist, |
274 ] | 298 ] |
275 grit_flags = [ | 299 grit_flags = [ |
276 "-w", | 300 "-w", |
277 whitelist, | 301 whitelist, |
278 ] | 302 ] |
279 outputs = [ | 303 outputs = [ |
280 "grit/components_strings.h", | 304 "grit/components_strings.h", |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
397 | 421 |
398 if (android_64bit_target_cpu) { | 422 if (android_64bit_target_cpu) { |
399 shared_library("monochrome") { | 423 shared_library("monochrome") { |
400 deps = [ | 424 deps = [ |
401 ":webview_entry_point", | 425 ":webview_entry_point", |
402 ] | 426 ] |
403 configs -= [ "//build/config/android:hide_native_jni_exports" ] | 427 configs -= [ "//build/config/android:hide_native_jni_exports" ] |
404 } | 428 } |
405 } | 429 } |
406 | 430 |
| 431 if (enable_resource_whitelist_generation) { |
| 432 generate_resource_whitelist("system_webview_pak_whitelist") { |
| 433 deps = [ |
| 434 ":libwebviewchromium", |
| 435 ] |
| 436 input = "$root_out_dir/libwebviewchromium$shlib_extension.whitelist" |
| 437 output = system_webview_pak_whitelist |
| 438 } |
| 439 } |
| 440 |
407 source_set("common") { | 441 source_set("common") { |
408 sources = [ | 442 sources = [ |
409 "browser/aw_browser_context.cc", | 443 "browser/aw_browser_context.cc", |
410 "browser/aw_browser_context.h", | 444 "browser/aw_browser_context.h", |
411 "browser/aw_browser_main_parts.cc", | 445 "browser/aw_browser_main_parts.cc", |
412 "browser/aw_browser_main_parts.h", | 446 "browser/aw_browser_main_parts.h", |
413 "browser/aw_browser_permission_request_delegate.h", | 447 "browser/aw_browser_permission_request_delegate.h", |
414 "browser/aw_browser_policy_connector.cc", | 448 "browser/aw_browser_policy_connector.cc", |
415 "browser/aw_browser_policy_connector.h", | 449 "browser/aw_browser_policy_connector.h", |
416 "browser/aw_content_browser_client.cc", | 450 "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") { | 822 system_webview_apk_tmpl("system_webview_apk") { |
789 android_manifest = system_webview_android_manifest | 823 android_manifest = system_webview_android_manifest |
790 android_manifest_dep = ":system_webview_manifest" | 824 android_manifest_dep = ":system_webview_manifest" |
791 deps = [ | 825 deps = [ |
792 ":system_webview_resources", | 826 ":system_webview_resources", |
793 "//android_webview/glue", | 827 "//android_webview/glue", |
794 ] | 828 ] |
795 apk_name = "SystemWebView" | 829 apk_name = "SystemWebView" |
796 } | 830 } |
797 } | 831 } |
OLD | NEW |