| # Copyright 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/ui.gni") |
| |
| if (is_android) { |
| import("//build/config/android/config.gni") |
| import("//build/config/android/rules.gni") |
| } |
| |
| source_set("app") { |
| visibility = [ |
| ":*", |
| "//blimp/client:*", |
| ] |
| |
| sources = [ |
| "blimp_discardable_memory_allocator.cc", |
| "blimp_discardable_memory_allocator.h", |
| "blimp_startup.cc", |
| "blimp_startup.h", |
| "compositor/browser_compositor.cc", |
| "compositor/browser_compositor.h", |
| ] |
| |
| public_deps = [ |
| ":session", |
| "//blimp/client/core/compositor", |
| "//blimp/client/core/switches", |
| "//blimp/client/support", |
| "//cc", |
| "//cc/surfaces", |
| "//components/safe_json", |
| "//components/url_formatter", |
| "//skia", |
| "//ui/events", |
| "//ui/gfx/geometry", |
| ] |
| |
| deps = [ |
| "//base", |
| "//blimp/client/core", |
| "//blimp/client/public:public_headers", |
| "//blimp/client/support", |
| "//blimp/common", |
| "//blimp/common/proto", |
| "//blimp/net", |
| "//cc", |
| "//gpu/command_buffer/client:gles2_implementation", |
| "//gpu/skia_bindings", |
| "//net", |
| "//third_party/libwebp", |
| "//ui/gfx/geometry", |
| "//ui/gl", |
| "//ui/gl/init", |
| "//url:url", |
| ] |
| } |
| |
| source_set("session") { |
| visibility = [ |
| ":*", |
| "//blimp/engine:browser_tests", |
| ] |
| |
| sources = [ |
| "session/blimp_client_session.cc", |
| "session/blimp_client_session.h", |
| ] |
| |
| public_deps = [ |
| "//blimp/client/core/context", |
| "//blimp/client/core/geolocation", |
| "//blimp/client/core/switches", |
| "//blimp/common/proto", |
| "//device/geolocation", |
| "//ui/events", |
| ] |
| |
| deps = [ |
| "//base", |
| "//blimp/client/core/compositor", |
| "//blimp/client/core/contents", |
| "//blimp/client/core/render_widget", |
| "//blimp/client/core/session", |
| "//blimp/client/core/settings", |
| "//blimp/common", |
| "//blimp/common/proto", |
| "//blimp/net", |
| "//net", |
| "//ui/gfx/geometry", |
| "//url:url", |
| ] |
| } |
| |
| source_set("app_unit_tests") { |
| visibility = [ "//blimp/client:unit_tests" ] |
| |
| testonly = true |
| |
| sources = [ |
| "blimp_discardable_memory_allocator_unittest.cc", |
| ] |
| |
| deps = [ |
| ":app", |
| "//base", |
| "//base/test:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| |
| sources = [ |
| "session/test_client_session.cc", |
| "session/test_client_session.h", |
| ] |
| |
| deps = [ |
| ":session", |
| "//url", |
| ] |
| } |
| |
| if (is_linux && !is_chromeos && use_x11) { |
| executable("blimp_shell") { |
| sources = [ |
| "linux/blimp_client_context_delegate_linux.cc", |
| "linux/blimp_client_context_delegate_linux.h", |
| "linux/blimp_display_manager.cc", |
| "linux/blimp_display_manager.h", |
| "linux/blimp_display_manager_delegate_main.cc", |
| "linux/blimp_display_manager_delegate_main.h", |
| "linux/blimp_main.cc", |
| ] |
| |
| deps = [ |
| ":app", |
| "//base", |
| "//blimp/client/core/compositor", |
| "//blimp/client/core/session", |
| "//blimp/client/core/settings:settings", |
| "//blimp/net", |
| "//components/pref_registry", |
| "//components/prefs", |
| "//net", |
| "//services/service_manager/public/cpp", |
| |
| # TODO(khushalsagar|scottmg): Remove this dependency from browser to |
| # blink. See https://crbug.com/608114. |
| "//third_party/WebKit/public:blink", |
| "//ui/events/platform/x11", |
| "//ui/platform_window", |
| "//ui/platform_window/x11", |
| ] |
| |
| public_configs = [ "//build/config/linux:x11" ] |
| public_deps = [ |
| "//blimp/client/core/contents", |
| "//ui/events/platform/x11", |
| ] |
| } |
| } |
| |
| if (is_android) { |
| declare_args() { |
| # Package name used in the manifest for the Blimp APK. |
| blimp_package_name = "org.chromium.blimp" |
| } |
| |
| manifest_package = blimp_package_name |
| blimp_apk_manifest = "$target_gen_dir/blimp_apk_manifest/AndroidManifest.xml" |
| blimp_test_apk_manifest = |
| "$target_gen_dir/blimp_test_apk_manifest/AndroidManifest.xml" |
| |
| jinja_variables = [ "manifest_package=$manifest_package" ] |
| |
| jinja_template("blimp_apk_manifest") { |
| visibility = [ ":*" ] |
| |
| input = "android/AndroidManifest.xml.jinja2" |
| output = blimp_apk_manifest |
| variables = jinja_variables |
| } |
| |
| jinja_template("blimp_test_apk_manifest") { |
| visibility = [ ":*" ] |
| |
| input = "android/javatests/AndroidManifest.xml.jinja2" |
| output = blimp_test_apk_manifest |
| variables = jinja_variables |
| } |
| |
| generate_jni("jni_headers") { |
| visibility = [ ":*" ] |
| |
| sources = [ |
| "android/java/src/org/chromium/blimp/BlimpLibraryLoader.java", |
| "android/java/src/org/chromium/blimp/BlimpView.java", |
| "android/java/src/org/chromium/blimp/session/BlimpClientSession.java", |
| "android/java/src/org/chromium/blimp/session/TabControlFeature.java", |
| "android/java/src/org/chromium/blimp/toolbar/Toolbar.java", |
| ] |
| |
| jni_package = "blimp" |
| } |
| |
| android_resources("blimp_java_resources") { |
| visibility = [ |
| ":*", |
| "//blimp/client/core/contents/*", # TODO(xingliu): Remove this. |
| "//blimp/client/core/settings/*", # TODO(xingliu): Remove this. |
| ] |
| resource_dirs = [ "android/java/res" ] |
| deps = [ |
| ":blimp_strings_grd", |
| ] |
| custom_package = "org.chromium.blimp" |
| } |
| |
| java_strings_grd("blimp_strings_grd") { |
| grd_file = "android/java/strings/android_blimp_strings.grd" |
| outputs = [ |
| "values-am/android_blimp_strings.xml", |
| "values-ar/android_blimp_strings.xml", |
| "values-bg/android_blimp_strings.xml", |
| "values-ca/android_blimp_strings.xml", |
| "values-cs/android_blimp_strings.xml", |
| "values-da/android_blimp_strings.xml", |
| "values-de/android_blimp_strings.xml", |
| "values-el/android_blimp_strings.xml", |
| "values/android_blimp_strings.xml", |
| "values-en-rGB/android_blimp_strings.xml", |
| "values-es/android_blimp_strings.xml", |
| "values-es-rUS/android_blimp_strings.xml", |
| "values-fa/android_blimp_strings.xml", |
| "values-fi/android_blimp_strings.xml", |
| "values-tl/android_blimp_strings.xml", |
| "values-fr/android_blimp_strings.xml", |
| "values-hi/android_blimp_strings.xml", |
| "values-hr/android_blimp_strings.xml", |
| "values-hu/android_blimp_strings.xml", |
| "values-in/android_blimp_strings.xml", |
| "values-it/android_blimp_strings.xml", |
| "values-iw/android_blimp_strings.xml", |
| "values-ja/android_blimp_strings.xml", |
| "values-ko/android_blimp_strings.xml", |
| "values-lt/android_blimp_strings.xml", |
| "values-lv/android_blimp_strings.xml", |
| "values-nl/android_blimp_strings.xml", |
| "values-nb/android_blimp_strings.xml", |
| "values-pl/android_blimp_strings.xml", |
| "values-pt-rBR/android_blimp_strings.xml", |
| "values-pt-rPT/android_blimp_strings.xml", |
| "values-ro/android_blimp_strings.xml", |
| "values-ru/android_blimp_strings.xml", |
| "values-sk/android_blimp_strings.xml", |
| "values-sl/android_blimp_strings.xml", |
| "values-sr/android_blimp_strings.xml", |
| "values-sv/android_blimp_strings.xml", |
| "values-sw/android_blimp_strings.xml", |
| "values-th/android_blimp_strings.xml", |
| "values-tr/android_blimp_strings.xml", |
| "values-uk/android_blimp_strings.xml", |
| "values-vi/android_blimp_strings.xml", |
| "values-zh-rCN/android_blimp_strings.xml", |
| "values-zh-rTW/android_blimp_strings.xml", |
| ] |
| } |
| |
| android_library("blimp_java") { |
| visibility = [ ":*" ] |
| |
| deps = [ |
| ":blimp_java_resources", |
| "//base:base_java", |
| "//blimp/client/core:core_java", |
| "//blimp/client/public:public_headers_java", |
| "//third_party/android_tools:android_support_annotations_java", |
| |
| # TODO(dtrainor): Remove the ui_java target once no more Android Toast |
| # notifications are used. |
| "//ui/android:ui_java", |
| google_play_services_library, |
| ] |
| |
| java_files = [ |
| "android/java/src/org/chromium/blimp/auth/RetryingTokenSource.java", |
| "android/java/src/org/chromium/blimp/auth/TokenSource.java", |
| "android/java/src/org/chromium/blimp/auth/TokenSourceImpl.java", |
| "android/java/src/org/chromium/blimp/BlimpApplication.java", |
| "android/java/src/org/chromium/blimp/BlimpLibraryLoader.java", |
| "android/java/src/org/chromium/blimp/BlimpRendererActivity.java", |
| "android/java/src/org/chromium/blimp/BlimpView.java", |
| "android/java/src/org/chromium/blimp/BrowserRestartActivity.java", |
| "android/java/src/org/chromium/blimp/preferences/PreferencesUtil.java", |
| "android/java/src/org/chromium/blimp/session/BlimpClientSession.java", |
| "android/java/src/org/chromium/blimp/session/EngineInfo.java", |
| "android/java/src/org/chromium/blimp/session/TabControlFeature.java", |
| "android/java/src/org/chromium/blimp/settings/AboutBlimpPreferences.java", |
| "android/java/src/org/chromium/blimp/settings/Preferences.java", |
| "android/java/src/org/chromium/blimp/toolbar/Toolbar.java", |
| "android/java/src/org/chromium/blimp/toolbar/ToolbarMenu.java", |
| "android/java/src/org/chromium/blimp/toolbar/UrlBar.java", |
| ] |
| } |
| |
| android_library("blimp_test_java") { |
| visibility = [ ":*" ] |
| |
| testonly = true |
| |
| deps = [ |
| ":blimp_java", |
| "//base:base_java", |
| "//base:base_java_test_support", |
| "//blimp/client/core/common:common_java", |
| "//blimp/client/core/contents:contents_java", |
| "//blimp/client/core/settings:settings_java", |
| "//blimp/client/public:public_headers_java", |
| "//components/signin/core/browser/android:java", |
| "//components/sync/android:sync_java", |
| "//third_party/android_tools:android_support_v7_appcompat_java", |
| "//ui/android:ui_java", |
| google_play_services_library, |
| ] |
| |
| java_files = [ |
| "android/javatests/src/org/chromium/blimp/auth/MockTokenSource.java", |
| "android/javatests/src/org/chromium/blimp/auth/RetryingTokenSourceTest.java", |
| "android/javatests/src/org/chromium/blimp/core/MockBlimpClientContext.java", |
| "android/javatests/src/org/chromium/blimp/core/MockBlimpClientContextDelegate.java", |
| "android/javatests/src/org/chromium/blimp/core/settings/BlimpPreferencesTest.java", |
| "android/javatests/src/org/chromium/blimp/core/settings/MockPreferences.java", |
| "android/javatests/src/org/chromium/blimp/BlimpNativeInstrumentationTestCase.java", |
| ] |
| } |
| |
| shared_library("blimp_app_android") { |
| deps = [ |
| ":app", |
| ":jni_headers", |
| "//base", |
| "//blimp/client/core", |
| "//blimp/client/core/compositor", |
| "//blimp/client/core/contents", |
| "//blimp/client/core/session:session", |
| "//blimp/client/core/settings", |
| "//blimp/client/public:public_headers", |
| "//blimp/common", |
| "//blimp/common/proto", |
| "//blimp/net", |
| "//components/safe_json/android:safe_json_jni_headers", |
| "//components/version_info", |
| "//net", |
| "//skia", |
| "//ui/gfx/geometry", |
| "//ui/gl", |
| "//url:url", |
| ] |
| |
| sources = [ |
| "android/blimp_app_jni_registrar.cc", |
| "android/blimp_app_jni_registrar.h", |
| "android/blimp_client_session_android.cc", |
| "android/blimp_client_session_android.h", |
| "android/blimp_library_loader.cc", |
| "android/blimp_library_loader.h", |
| "android/blimp_view.cc", |
| "android/blimp_view.h", |
| "android/tab_control_feature_android.cc", |
| "android/tab_control_feature_android.h", |
| "android/toolbar.cc", |
| "android/toolbar.h", |
| ] |
| |
| libs = [ "android" ] |
| } |
| |
| android_apk("blimp_apk") { |
| deps = [ |
| ":blimp_java", |
| "//base:base_java", |
| "//blimp/client/core:core_java", |
| "//components/safe_json/android:safe_json_java", |
| "//net/android:net_java", |
| ] |
| apk_name = "Blimp" |
| android_manifest = blimp_apk_manifest |
| android_manifest_dep = ":blimp_apk_manifest" |
| shared_libraries = [ ":blimp_app_android" ] |
| } |
| |
| instrumentation_test_apk("blimp_test_apk") { |
| apk_name = "BlimpTest" |
| apk_under_test = ":blimp_apk" |
| android_manifest = blimp_test_apk_manifest |
| android_manifest_dep = ":blimp_test_apk_manifest" |
| deps = [ |
| ":blimp_test_java", |
| ] |
| } |
| } |