OLD | NEW |
| (Empty) |
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 | |
3 # found in the LICENSE file. | |
4 | |
5 import("//build/config/ui.gni") | |
6 import("//tools/grit/repack.gni") | |
7 | |
8 if (is_android) { | |
9 import("//build/config/android/config.gni") | |
10 import("//build/config/android/rules.gni") | |
11 } | |
12 | |
13 source_set("app") { | |
14 visibility = [ | |
15 ":*", | |
16 "//blimp/client:*", | |
17 ] | |
18 | |
19 sources = [ | |
20 "blimp_discardable_memory_allocator.cc", | |
21 "blimp_discardable_memory_allocator.h", | |
22 "blimp_startup.cc", | |
23 "blimp_startup.h", | |
24 "compositor/browser_compositor.cc", | |
25 "compositor/browser_compositor.h", | |
26 ] | |
27 | |
28 public_deps = [ | |
29 "//blimp/client/support", | |
30 "//cc", | |
31 "//cc/surfaces", | |
32 "//components/safe_json", | |
33 "//components/url_formatter", | |
34 "//gpu/ipc/common", | |
35 "//skia", | |
36 "//ui/events", | |
37 "//ui/gfx/geometry", | |
38 ] | |
39 | |
40 deps = [ | |
41 "//base", | |
42 "//blimp/client/public:public_headers", | |
43 "//blimp/client/support", | |
44 "//blimp/common", | |
45 "//blimp/common/proto", | |
46 "//blimp/net", | |
47 "//cc", | |
48 "//gpu/command_buffer/client:gles2_implementation", | |
49 "//gpu/skia_bindings", | |
50 "//net", | |
51 "//third_party/libwebp", | |
52 "//ui/base:base", | |
53 "//ui/gfx/geometry", | |
54 "//ui/gl", | |
55 "//ui/gl/init", | |
56 "//url:url", | |
57 ] | |
58 } | |
59 | |
60 source_set("app_unit_tests") { | |
61 visibility = [ "//blimp/client:unit_tests" ] | |
62 | |
63 testonly = true | |
64 | |
65 sources = [ | |
66 "blimp_discardable_memory_allocator_unittest.cc", | |
67 ] | |
68 | |
69 deps = [ | |
70 ":app", | |
71 "//base", | |
72 "//base/test:test_support", | |
73 "//testing/gmock", | |
74 "//testing/gtest", | |
75 ] | |
76 } | |
77 | |
78 if (is_linux && !is_chromeos && use_x11) { | |
79 executable("blimp_shell") { | |
80 sources = [ | |
81 "linux/blimp_client_context_delegate_linux.cc", | |
82 "linux/blimp_client_context_delegate_linux.h", | |
83 "linux/blimp_display_manager.cc", | |
84 "linux/blimp_display_manager.h", | |
85 "linux/blimp_display_manager_delegate_main.cc", | |
86 "linux/blimp_display_manager_delegate_main.h", | |
87 "linux/blimp_main.cc", | |
88 ] | |
89 | |
90 deps = [ | |
91 ":app", | |
92 ":shell_strings", | |
93 "//base", | |
94 "//blimp/client/core", # Necessary to link in correct code. | |
95 "//blimp/client/public:public_headers", | |
96 "//blimp/client/public/resources:shell_strings", | |
97 "//blimp/net", | |
98 "//components/pref_registry", | |
99 "//components/prefs", | |
100 "//net", | |
101 "//services/service_manager/public/cpp", | |
102 | |
103 # TODO(khushalsagar|scottmg): Remove this dependency from browser to | |
104 # blink. See https://crbug.com/608114. | |
105 "//third_party/WebKit/public:blink", | |
106 "//ui/base", | |
107 "//ui/events:gesture_detection", | |
108 "//ui/events/platform/x11", | |
109 "//ui/platform_window", | |
110 "//ui/platform_window/x11", | |
111 ] | |
112 | |
113 public_configs = [ "//build/config/linux:x11" ] | |
114 public_deps = [ | |
115 "//ui/events/platform/x11", | |
116 ] | |
117 } | |
118 } | |
119 | |
120 # Resources file for linux shell. | |
121 repack("shell_strings") { | |
122 sources = [ | |
123 "$root_gen_dir/blimp/client/core/resources/blimp_strings_en-US.pak", | |
124 "$root_gen_dir/blimp/client/support/resources/blimp_strings_en-US.pak", | |
125 ] | |
126 | |
127 deps = [ | |
128 "//blimp/client/public/resources:shell_strings", | |
129 "//blimp/client/support/resources:strings", | |
130 ] | |
131 | |
132 output = "$root_out_dir/blimp_shell.pak" | |
133 } | |
134 | |
135 if (is_android) { | |
136 declare_args() { | |
137 # Package name used in the manifest for the Blimp APK. | |
138 blimp_package_name = "org.chromium.blimp" | |
139 } | |
140 | |
141 manifest_package = blimp_package_name | |
142 blimp_apk_manifest = "$target_gen_dir/blimp_apk_manifest/AndroidManifest.xml" | |
143 blimp_test_apk_manifest = | |
144 "$target_gen_dir/blimp_test_apk_manifest/AndroidManifest.xml" | |
145 | |
146 jinja_variables = [ "manifest_package=$manifest_package" ] | |
147 | |
148 jinja_template("blimp_apk_manifest") { | |
149 visibility = [ ":*" ] | |
150 | |
151 input = "android/AndroidManifest.xml.jinja2" | |
152 output = blimp_apk_manifest | |
153 variables = jinja_variables | |
154 } | |
155 | |
156 jinja_template("blimp_test_apk_manifest") { | |
157 visibility = [ ":*" ] | |
158 | |
159 input = "android/javatests/AndroidManifest.xml.jinja2" | |
160 output = blimp_test_apk_manifest | |
161 variables = jinja_variables | |
162 } | |
163 | |
164 generate_jni("jni_headers") { | |
165 visibility = [ ":*" ] | |
166 | |
167 sources = [ | |
168 "android/java/src/org/chromium/blimp/app/BlimpContentsDisplay.java", | |
169 "android/java/src/org/chromium/blimp/app/BlimpEnvironment.java", | |
170 "android/java/src/org/chromium/blimp/app/BlimpLibraryLoader.java", | |
171 ] | |
172 | |
173 jni_package = "blimp" | |
174 } | |
175 | |
176 android_resources("blimp_java_resources") { | |
177 visibility = [ ":*" ] | |
178 resource_dirs = [ "android/java/res" ] | |
179 deps = [ | |
180 ":blimp_strings_grd", | |
181 "//third_party/android_tools:android_support_v7_appcompat_java", | |
182 ] | |
183 custom_package = "org.chromium.blimp.app" | |
184 } | |
185 | |
186 java_strings_grd("blimp_strings_grd") { | |
187 grd_file = "android/java/strings/android_blimp_strings.grd" | |
188 outputs = [ | |
189 "values-am/android_blimp_strings.xml", | |
190 "values-ar/android_blimp_strings.xml", | |
191 "values-bg/android_blimp_strings.xml", | |
192 "values-ca/android_blimp_strings.xml", | |
193 "values-cs/android_blimp_strings.xml", | |
194 "values-da/android_blimp_strings.xml", | |
195 "values-de/android_blimp_strings.xml", | |
196 "values-el/android_blimp_strings.xml", | |
197 "values/android_blimp_strings.xml", | |
198 "values-en-rGB/android_blimp_strings.xml", | |
199 "values-es/android_blimp_strings.xml", | |
200 "values-es-rUS/android_blimp_strings.xml", | |
201 "values-fa/android_blimp_strings.xml", | |
202 "values-fi/android_blimp_strings.xml", | |
203 "values-tl/android_blimp_strings.xml", | |
204 "values-fr/android_blimp_strings.xml", | |
205 "values-hi/android_blimp_strings.xml", | |
206 "values-hr/android_blimp_strings.xml", | |
207 "values-hu/android_blimp_strings.xml", | |
208 "values-in/android_blimp_strings.xml", | |
209 "values-it/android_blimp_strings.xml", | |
210 "values-iw/android_blimp_strings.xml", | |
211 "values-ja/android_blimp_strings.xml", | |
212 "values-ko/android_blimp_strings.xml", | |
213 "values-lt/android_blimp_strings.xml", | |
214 "values-lv/android_blimp_strings.xml", | |
215 "values-nl/android_blimp_strings.xml", | |
216 "values-nb/android_blimp_strings.xml", | |
217 "values-pl/android_blimp_strings.xml", | |
218 "values-pt-rBR/android_blimp_strings.xml", | |
219 "values-pt-rPT/android_blimp_strings.xml", | |
220 "values-ro/android_blimp_strings.xml", | |
221 "values-ru/android_blimp_strings.xml", | |
222 "values-sk/android_blimp_strings.xml", | |
223 "values-sl/android_blimp_strings.xml", | |
224 "values-sr/android_blimp_strings.xml", | |
225 "values-sv/android_blimp_strings.xml", | |
226 "values-sw/android_blimp_strings.xml", | |
227 "values-th/android_blimp_strings.xml", | |
228 "values-tr/android_blimp_strings.xml", | |
229 "values-uk/android_blimp_strings.xml", | |
230 "values-vi/android_blimp_strings.xml", | |
231 "values-zh-rCN/android_blimp_strings.xml", | |
232 "values-zh-rTW/android_blimp_strings.xml", | |
233 ] | |
234 } | |
235 | |
236 android_library("blimp_java") { | |
237 visibility = [ ":*" ] | |
238 | |
239 deps = [ | |
240 ":blimp_java_resources", | |
241 "//base:base_java", | |
242 "//blimp/client/core:core_java", # Necessary to link in correct code. | |
243 "//blimp/client/public:public_headers_java", | |
244 "//third_party/android_tools:android_support_annotations_java", | |
245 "//third_party/android_tools:android_support_v7_appcompat_java", | |
246 | |
247 # TODO(dtrainor): Remove the ui_java target once no more Android Toast | |
248 # notifications are used. | |
249 "//ui/android:ui_java", | |
250 google_play_services_library, | |
251 ] | |
252 | |
253 java_files = [ | |
254 "android/java/src/org/chromium/blimp/app/BlimpApplication.java", | |
255 "android/java/src/org/chromium/blimp/app/BlimpContentsDisplay.java", | |
256 "android/java/src/org/chromium/blimp/app/BlimpEnvironment.java", | |
257 "android/java/src/org/chromium/blimp/app/BlimpLibraryLoader.java", | |
258 "android/java/src/org/chromium/blimp/app/BlimpRendererActivity.java", | |
259 "android/java/src/org/chromium/blimp/app/BrowserRestartActivity.java", | |
260 "android/java/src/org/chromium/blimp/app/settings/AppBlimpPreferenceScreen
.java", | |
261 "android/java/src/org/chromium/blimp/app/settings/Preferences.java", | |
262 "android/java/src/org/chromium/blimp/app/toolbar/Toolbar.java", | |
263 "android/java/src/org/chromium/blimp/app/toolbar/ToolbarMenu.java", | |
264 "android/java/src/org/chromium/blimp/app/toolbar/UrlBar.java", | |
265 ] | |
266 } | |
267 | |
268 # Wrapper target for all Java code in core that blimp_test_java tests. | |
269 # This enables the visibility of those targets to be specific instead of | |
270 # using the //blimp/client/app:* wildcard. | |
271 java_group("blimp_test_java_core_deps") { | |
272 visibility = [ ":*" ] | |
273 | |
274 testonly = true | |
275 | |
276 deps = [ | |
277 "//blimp/client/core/common:common_java", | |
278 "//blimp/client/core/contents:contents_java", | |
279 "//blimp/client/core/settings:settings_java", | |
280 ] | |
281 } | |
282 | |
283 # This test target is also the host for all //blimp/client/core tests. | |
284 android_library("blimp_test_java") { | |
285 visibility = [ ":*" ] | |
286 | |
287 testonly = true | |
288 | |
289 deps = [ | |
290 ":blimp_java", | |
291 ":blimp_test_java_core_deps", | |
292 "//base:base_java", | |
293 "//base:base_java_test_support", | |
294 "//blimp/client/public:public_headers_java", | |
295 "//components/signin/core/browser/android:java", | |
296 "//components/sync/android:sync_java", | |
297 "//third_party/android_support_test_runner:runner_java", | |
298 "//third_party/android_tools:android_support_v7_appcompat_java", | |
299 "//ui/android:ui_java", | |
300 google_play_services_library, | |
301 ] | |
302 | |
303 java_files = [ | |
304 "android/javatests/src/org/chromium/blimp/app/BlimpNativeInstrumentationTe
stCase.java", | |
305 "android/javatests/src/org/chromium/blimp/core/MockBlimpClientContext.java
", | |
306 "android/javatests/src/org/chromium/blimp/core/MockBlimpClientContextDeleg
ate.java", | |
307 "android/javatests/src/org/chromium/blimp/core/settings/BlimpPreferencesTe
st.java", | |
308 "android/javatests/src/org/chromium/blimp/core/settings/MockPreferences.ja
va", | |
309 ] | |
310 } | |
311 | |
312 shared_library("blimp_app_android") { | |
313 deps = [ | |
314 ":app", | |
315 ":jni_headers", | |
316 "//base", | |
317 "//blimp/client/core", # Necessary to link in correct code. | |
318 "//blimp/client/public:public_headers", | |
319 "//blimp/client/support/resources", | |
320 "//blimp/common", | |
321 "//blimp/common/proto", | |
322 "//blimp/net", | |
323 "//components/pref_registry", | |
324 "//components/prefs", | |
325 "//components/safe_json/android:safe_json_jni_headers", | |
326 "//components/signin/core/browser", | |
327 "//components/version_info", | |
328 "//net", | |
329 "//skia", | |
330 "//ui/android", | |
331 "//ui/base", | |
332 "//ui/gfx/geometry", | |
333 "//ui/gl", | |
334 "//url", | |
335 ] | |
336 | |
337 sources = [ | |
338 "android/blimp_app_jni_registrar.cc", | |
339 "android/blimp_app_jni_registrar.h", | |
340 "android/blimp_client_context_delegate_android.cc", | |
341 "android/blimp_client_context_delegate_android.h", | |
342 "android/blimp_contents_display.cc", | |
343 "android/blimp_contents_display.h", | |
344 "android/blimp_environment.cc", | |
345 "android/blimp_environment.h", | |
346 "android/blimp_library_loader.cc", | |
347 "android/blimp_library_loader.h", | |
348 ] | |
349 | |
350 libs = [ "android" ] | |
351 } | |
352 | |
353 android_assets("blimp_apk_assets") { | |
354 sources = [ | |
355 "$root_out_dir/blimp_shell.pak", | |
356 ] | |
357 | |
358 deps = [ | |
359 ":shell_strings", | |
360 "//third_party/icu:icu_assets", | |
361 ] | |
362 disable_compression = true | |
363 } | |
364 | |
365 android_apk("blimp_apk") { | |
366 deps = [ | |
367 ":blimp_apk_assets", | |
368 ":blimp_java", | |
369 "//base:base_java", | |
370 "//blimp/client/core:core_java", # Necessary to link in correct code. | |
371 "//components/safe_json/android:safe_json_java", | |
372 "//net/android:net_java", | |
373 ] | |
374 apk_name = "Blimp" | |
375 android_manifest = blimp_apk_manifest | |
376 android_manifest_dep = ":blimp_apk_manifest" | |
377 shared_libraries = [ ":blimp_app_android" ] | |
378 } | |
379 | |
380 instrumentation_test_apk("blimp_test_apk") { | |
381 apk_name = "BlimpTest" | |
382 apk_under_test = ":blimp_apk" | |
383 android_manifest = blimp_test_apk_manifest | |
384 android_manifest_dep = ":blimp_test_apk_manifest" | |
385 deps = [ | |
386 ":blimp_test_java", | |
387 "//third_party/android_support_test_runner:runner_java", | |
388 ] | |
389 } | |
390 } | |
OLD | NEW |