Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(999)

Side by Side Diff: chrome/browser/invalidation/invalidation_service_factory_android.cc

Issue 1288183004: jni_generator: Make all object-returning natives return ScopedJavaLocalRef. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add some newlines for readability Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "chrome/browser/invalidation/invalidation_service_factory_android.h" 5 #include "chrome/browser/invalidation/invalidation_service_factory_android.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "chrome/browser/invalidation/profile_invalidation_provider_factory.h" 8 #include "chrome/browser/invalidation/profile_invalidation_provider_factory.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/profiles/profile_android.h" 10 #include "chrome/browser/profiles/profile_android.h"
11 #include "components/invalidation/impl/invalidation_service_android.h" 11 #include "components/invalidation/impl/invalidation_service_android.h"
12 #include "components/invalidation/impl/profile_invalidation_provider.h" 12 #include "components/invalidation/impl/profile_invalidation_provider.h"
13 #include "jni/InvalidationServiceFactory_jni.h" 13 #include "jni/InvalidationServiceFactory_jni.h"
14 14
15 using base::android::ScopedJavaLocalRef; 15 using base::android::ScopedJavaLocalRef;
16 16
17 namespace invalidation { 17 namespace invalidation {
18 18
19 jobject InvalidationServiceFactoryAndroid::GetForProfile(JNIEnv* env, 19 ScopedJavaLocalRef<jobject> InvalidationServiceFactoryAndroid::GetForProfile(
20 jclass clazz, 20 JNIEnv* env,
21 jobject j_profile) { 21 jclass clazz,
22 jobject j_profile) {
22 Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile); 23 Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile);
23 invalidation::ProfileInvalidationProvider* provider = 24 invalidation::ProfileInvalidationProvider* provider =
24 ProfileInvalidationProviderFactory::GetForProfile(profile); 25 ProfileInvalidationProviderFactory::GetForProfile(profile);
25 InvalidationServiceAndroid* service_android = 26 InvalidationServiceAndroid* service_android =
26 static_cast<InvalidationServiceAndroid*>( 27 static_cast<InvalidationServiceAndroid*>(
27 provider->GetInvalidationService()); 28 provider->GetInvalidationService());
28 return service_android->java_ref_.obj(); 29 return ScopedJavaLocalRef<jobject>(service_android->java_ref_);
29 } 30 }
30 31
31 jobject InvalidationServiceFactoryAndroid::GetForTest(JNIEnv* env, 32 ScopedJavaLocalRef<jobject> InvalidationServiceFactoryAndroid::GetForTest(
32 jclass clazz, 33 JNIEnv* env,
33 jobject j_context) { 34 jclass clazz,
35 jobject j_context) {
34 InvalidationServiceAndroid* service_android = 36 InvalidationServiceAndroid* service_android =
35 new InvalidationServiceAndroid(j_context); 37 new InvalidationServiceAndroid(j_context);
36 return service_android->java_ref_.obj(); 38 return ScopedJavaLocalRef<jobject>(service_android->java_ref_);
37 } 39 }
38 40
39 jobject GetForProfile(JNIEnv* env, jclass clazz, jobject j_profile) { 41 ScopedJavaLocalRef<jobject> GetForProfile(JNIEnv* env,
40 return InvalidationServiceFactoryAndroid::GetForProfile( 42 jclass clazz,
41 env, clazz, j_profile); 43 jobject j_profile) {
44 return InvalidationServiceFactoryAndroid::GetForProfile(env, clazz,
45 j_profile);
42 } 46 }
43 47
44 jobject GetForTest(JNIEnv* env, jclass clazz, jobject j_context) { 48 ScopedJavaLocalRef<jobject> GetForTest(JNIEnv* env,
45 return InvalidationServiceFactoryAndroid::GetForTest( 49 jclass clazz,
46 env, clazz, j_context); 50 jobject j_context) {
51 return InvalidationServiceFactoryAndroid::GetForTest(env, clazz, j_context);
47 } 52 }
48 53
49 bool InvalidationServiceFactoryAndroid::Register(JNIEnv* env) { 54 bool InvalidationServiceFactoryAndroid::Register(JNIEnv* env) {
50 return RegisterNativesImpl(env); 55 return RegisterNativesImpl(env);
51 } 56 }
52 57
53 } // namespace invalidation 58 } // namespace invalidation
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698