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