| Index: blimp/client/core/BUILD.gn
|
| diff --git a/blimp/client/core/BUILD.gn b/blimp/client/core/BUILD.gn
|
| index b98e4eb25feb0a456b6ed39da7bd5e76e5a25ba9..bd010128bf048e99ce02a080c1f154d59e365ad5 100644
|
| --- a/blimp/client/core/BUILD.gn
|
| +++ b/blimp/client/core/BUILD.gn
|
| @@ -7,10 +7,35 @@ if (is_android) {
|
| import("//build/config/android/rules.gni")
|
| }
|
|
|
| +declare_args() {
|
| + # Enables blimp. This is required to get the real implementation of blimp.
|
| + # By default, only a dummy-implementation is provided.
|
| + enable_blimp = false
|
| +}
|
| +
|
| +# This target is here to let //chrome depend on //blimp/client/public
|
| +# and automatically get the correct implementation of //blimp/client/core
|
| +# depending on whether enable_blimp is set or not.
|
| +group("core_shim") {
|
| + visibility = [ "//blimp/client/public" ]
|
| +
|
| + if (enable_blimp) {
|
| + deps = [
|
| + ":core",
|
| + ]
|
| + } else {
|
| + deps = [
|
| + ":dummy_core",
|
| + ]
|
| + }
|
| +}
|
| +
|
| source_set("core") {
|
| - visibility = [ "//blimp/*" ]
|
| + visibility = [ "//blimp/client/*" ]
|
|
|
| sources = [
|
| + "blimp_client_context_impl.cc",
|
| + "blimp_client_context_impl.h",
|
| "blimp_contents_impl.cc",
|
| "blimp_contents_impl.h",
|
| "blimp_navigation_controller_delegate.h",
|
| @@ -20,23 +45,51 @@ source_set("core") {
|
|
|
| deps = [
|
| "//base",
|
| - "//blimp/client/public",
|
| + "//blimp/client/public:public_headers",
|
| "//url",
|
| ]
|
|
|
| if (is_android) {
|
| sources += [
|
| + "android/blimp_client_context_impl_android.cc",
|
| + "android/blimp_client_context_impl_android.h",
|
| "android/blimp_contents_factory.cc",
|
| "android/blimp_contents_factory.h",
|
| "android/blimp_contents_impl_android.cc",
|
| "android/blimp_contents_impl_android.h",
|
| "android/blimp_contents_observer_proxy.cc",
|
| "android/blimp_contents_observer_proxy.h",
|
| + "android/blimp_jni_registrar.cc",
|
| "android/blimp_navigation_controller_impl_android.cc",
|
| "android/blimp_navigation_controller_impl_android.h",
|
| ]
|
|
|
| - deps += [ "//blimp/client/core:core_jni_headers" ]
|
| + deps += [ ":core_jni_headers" ]
|
| + }
|
| +}
|
| +
|
| +source_set("dummy_core") {
|
| + visibility = [ ":*" ]
|
| +
|
| + sources = [
|
| + "dummy_blimp_client_context.cc",
|
| + "dummy_blimp_client_context.h",
|
| + ]
|
| +
|
| + deps = [
|
| + "//base",
|
| + "//blimp/client/public:public_headers",
|
| + "//url",
|
| + ]
|
| +
|
| + if (is_android) {
|
| + sources += [
|
| + "android/dummy_blimp_client_context_android.cc",
|
| + "android/dummy_blimp_client_context_android.h",
|
| + "android/dummy_blimp_jni_registrar.cc",
|
| + ]
|
| +
|
| + deps += [ ":dummy_core_jni_headers" ]
|
| }
|
| }
|
|
|
| @@ -44,24 +97,45 @@ source_set("unit_tests") {
|
| testonly = true
|
|
|
| sources = [
|
| + "blimp_client_context_impl_unittest.cc",
|
| "blimp_contents_impl_unittest.cc",
|
| "blimp_navigation_controller_impl_unittest.cc",
|
| ]
|
|
|
| deps = [
|
| + ":core",
|
| "//base",
|
| - "//blimp/client/core",
|
| - "//blimp/client/public",
|
| + "//blimp/client/public:public_headers",
|
| + "//blimp/client/test",
|
| "//testing/gtest",
|
| "//url",
|
| ]
|
| }
|
|
|
| if (is_android) {
|
| + # This target is here to let //chrome depend on
|
| + # //blimp/client/public:public_java and automatically get the correct
|
| + # implementation of //blimp/client/core depending on whether enable_blimp is
|
| + # set or not.
|
| + java_group("core_shim_java") {
|
| + visibility = [ "//blimp/client/public/*" ]
|
| +
|
| + if (enable_blimp) {
|
| + deps = [
|
| + ":core_java",
|
| + ]
|
| + } else {
|
| + deps = [
|
| + ":dummy_core_java",
|
| + ]
|
| + }
|
| + }
|
| +
|
| android_library("core_java") {
|
| - visibility = [ "//blimp/*" ]
|
| + visibility = [ "//blimp/client/*" ]
|
|
|
| java_files = [
|
| + "android/java/src/org/chromium/blimp/core/BlimpClientContextImpl.java",
|
| "android/java/src/org/chromium/blimp/core/BlimpContentsFactory.java",
|
| "android/java/src/org/chromium/blimp/core/BlimpContentsImpl.java",
|
| "android/java/src/org/chromium/blimp/core/BlimpContentsObserverProxy.java",
|
| @@ -70,18 +144,42 @@ if (is_android) {
|
|
|
| deps = [
|
| "//base:base_java",
|
| - "//blimp/client/public:public_java",
|
| + "//blimp/client/public:public_headers_java",
|
| + ]
|
| + }
|
| +
|
| + android_library("dummy_core_java") {
|
| + visibility = [ ":*" ]
|
| +
|
| + java_files = [ "android/java/src/org/chromium/blimp/core/DummyBlimpClientContext.java" ]
|
| +
|
| + deps = [
|
| + "//base:base_java",
|
| + "//blimp/client/public:public_headers_java",
|
| ]
|
| }
|
|
|
| generate_jni("core_jni_headers") {
|
| + visibility = [ ":*" ]
|
| +
|
| sources = [
|
| + "android/java/src/org/chromium/blimp/core/BlimpClientContextImpl.java",
|
| "android/java/src/org/chromium/blimp/core/BlimpContentsFactory.java",
|
| "android/java/src/org/chromium/blimp/core/BlimpContentsImpl.java",
|
| "android/java/src/org/chromium/blimp/core/BlimpContentsObserverProxy.java",
|
| "android/java/src/org/chromium/blimp/core/BlimpNavigationControllerImpl.java",
|
| ]
|
|
|
| - jni_package = "blimp"
|
| + jni_package = "blimp/client/core"
|
| + }
|
| +
|
| + generate_jni("dummy_core_jni_headers") {
|
| + visibility = [ ":*" ]
|
| +
|
| + sources = [
|
| + "android/java/src/org/chromium/blimp/core/DummyBlimpClientContext.java",
|
| + ]
|
| +
|
| + jni_package = "blimp/client/core"
|
| }
|
| }
|
|
|