diff options
author | maxbogue <maxbogue@chromium.org> | 2014-09-29 10:45:19 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-29 17:45:32 +0000 |
commit | b8d6efcb29ede4dd881700526930b75a077f9a4e (patch) | |
tree | 9f19023c3314ba7c1ed14bb3380e88947df94057 /components/invalidation.gypi | |
parent | 1c629b00ea176d1ffd8dcb97356efe3f60d2916b (diff) | |
download | chromium_src-b8d6efcb29ede4dd881700526930b75a077f9a4e.zip chromium_src-b8d6efcb29ede4dd881700526930b75a077f9a4e.tar.gz chromium_src-b8d6efcb29ede4dd881700526930b75a077f9a4e.tar.bz2 |
Massive refactor of the Android invalidation code.
We want the invalidations code to exist as a component
independent of sync (see bug). This CL seeks to move toward
that for the Android invalidations codebase.
Generally, things moved from //chrome/browser/invalidation
to //components/invalidation, even if git didn't mark them
as moves.
To accomplish this, I had to unify where the JNI occurred.
In Java, InvalidationService was renamed to
InvalidationClientService as the class that communicates
with GCM.
A new InvalidationService class was introduced to handle JNI
and other Java entry points to the component. Several
methods from ProfileSyncService and InvalidationController
moved to it.
InvalidationController is now the bridge between sync and
the invalidation component, and has no JNI nor C++
counterpart.
InvalidationServiceFactory was added to assist in the
creation and management of InvalidationService objects
across the JNI boundary.
BUG=259559
Review URL: https://codereview.chromium.org/459513002
Cr-Commit-Position: refs/heads/master@{#297202}
Diffstat (limited to 'components/invalidation.gypi')
-rw-r--r-- | components/invalidation.gypi | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/components/invalidation.gypi b/components/invalidation.gypi index 3da9651..8378c2c 100644 --- a/components/invalidation.gypi +++ b/components/invalidation.gypi @@ -10,6 +10,7 @@ 'type': 'static_library', 'dependencies': [ '../base/base.gyp:base', + '../base/base.gyp:base_prefs', '../google_apis/google_apis.gyp:google_apis', '../jingle/jingle.gyp:notifier', '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation', @@ -101,6 +102,17 @@ 'invalidation/ticl_settings_provider.h', ], }], + ['OS == "android"', { + 'dependencies': [ + 'invalidation_jni_headers', + ], + 'sources': [ + 'invalidation/android/component_jni_registrar.cc', + 'invalidation/android/component_jni_registrar.h', + 'invalidation/invalidation_service_android.cc', + 'invalidation/invalidation_service_android.h', + ], + }], ], }, @@ -150,7 +162,55 @@ 'invalidation/p2p_invalidation_service.h', ], }], + ['OS == "android"', { + 'dependencies': [ + 'invalidation_jni_headers', + ], + }], ], }, ], + 'conditions': [ + ['OS == "android"', { + 'targets': [ + { + 'target_name': 'invalidation_java', + 'type': 'none', + 'dependencies': [ + '../base/base.gyp:base', + '../sync/sync.gyp:sync_java', + '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_javalib', + ], + 'variables': { + 'java_in_dir': 'invalidation/android/java', + }, + 'includes': [ '../build/java.gypi' ], + }, + { + 'target_name': 'invalidation_javatests', + 'type': 'none', + 'dependencies': [ + 'invalidation_java', + '../base/base.gyp:base_java_test_support', + ], + 'variables': { + 'java_in_dir': 'invalidation/android/javatests', + }, + 'includes': [ '../build/java.gypi' ], + }, + { + 'target_name': 'invalidation_jni_headers', + 'type': 'none', + 'sources': [ + 'invalidation/android/java/src/org/chromium/components/invalidation/InvalidationService.java', + ], + 'variables': { + 'jni_gen_package': 'components/invalidation', + }, + 'includes': [ '../build/jni_generator.gypi' ], + }, + ], + }, + ], + ], } |