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

Side by Side Diff: components/feature_engagement_tracker/internal/android/feature_engagement_tracker_impl_android.cc

Issue 2842833003: Update SupportsUserData uses with unique_ptr. (Closed)
Patch Set: rebase Created 3 years, 7 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 "components/feature_engagement_tracker/internal/android/feature_engagem ent_tracker_impl_android.h" 5 #include "components/feature_engagement_tracker/internal/android/feature_engagem ent_tracker_impl_android.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/android/callback_android.h" 9 #include "base/android/callback_android.h"
10 #include "base/android/jni_android.h" 10 #include "base/android/jni_android.h"
11 #include "base/android/jni_string.h" 11 #include "base/android/jni_string.h"
12 #include "base/android/scoped_java_ref.h" 12 #include "base/android/scoped_java_ref.h"
13 #include "base/bind.h" 13 #include "base/bind.h"
14 #include "base/feature_list.h" 14 #include "base/feature_list.h"
15 #include "base/memory/ptr_util.h"
15 #include "components/feature_engagement_tracker/internal/feature_list.h" 16 #include "components/feature_engagement_tracker/internal/feature_list.h"
16 #include "components/feature_engagement_tracker/public/feature_engagement_tracke r.h" 17 #include "components/feature_engagement_tracker/public/feature_engagement_tracke r.h"
17 #include "jni/FeatureEngagementTrackerImpl_jni.h" 18 #include "jni/FeatureEngagementTrackerImpl_jni.h"
18 19
19 namespace feature_engagement_tracker { 20 namespace feature_engagement_tracker {
20 21
21 namespace { 22 namespace {
22 23
23 const char kFeatureEngagementTrackerImplAndroidKey[] = 24 const char kFeatureEngagementTrackerImplAndroidKey[] =
24 "feature_engagement_tracker_impl_android"; 25 "feature_engagement_tracker_impl_android";
(...skipping 11 matching lines...) Expand all
36 FeatureEngagementTrackerImplAndroid* FromFeatureEngagementTrackerImpl( 37 FeatureEngagementTrackerImplAndroid* FromFeatureEngagementTrackerImpl(
37 FeatureEngagementTracker* feature_engagement_tracker) { 38 FeatureEngagementTracker* feature_engagement_tracker) {
38 FeatureEngagementTrackerImpl* impl = 39 FeatureEngagementTrackerImpl* impl =
39 static_cast<FeatureEngagementTrackerImpl*>(feature_engagement_tracker); 40 static_cast<FeatureEngagementTrackerImpl*>(feature_engagement_tracker);
40 FeatureEngagementTrackerImplAndroid* impl_android = 41 FeatureEngagementTrackerImplAndroid* impl_android =
41 static_cast<FeatureEngagementTrackerImplAndroid*>( 42 static_cast<FeatureEngagementTrackerImplAndroid*>(
42 impl->GetUserData(kFeatureEngagementTrackerImplAndroidKey)); 43 impl->GetUserData(kFeatureEngagementTrackerImplAndroidKey));
43 if (!impl_android) { 44 if (!impl_android) {
44 impl_android = 45 impl_android =
45 new FeatureEngagementTrackerImplAndroid(impl, GetAllFeatures()); 46 new FeatureEngagementTrackerImplAndroid(impl, GetAllFeatures());
46 impl->SetUserData(kFeatureEngagementTrackerImplAndroidKey, impl_android); 47 impl->SetUserData(kFeatureEngagementTrackerImplAndroidKey,
48 base::WrapUnique(impl_android));
47 } 49 }
48 return impl_android; 50 return impl_android;
49 } 51 }
50 52
51 } // namespace 53 } // namespace
52 54
53 // static 55 // static
54 bool FeatureEngagementTrackerImplAndroid::RegisterJni(JNIEnv* env) { 56 bool FeatureEngagementTrackerImplAndroid::RegisterJni(JNIEnv* env) {
55 return RegisterNativesImpl(env); 57 return RegisterNativesImpl(env);
56 } 58 }
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 const base::android::JavaParamRef<jobject>& j_callback_obj) { 137 const base::android::JavaParamRef<jobject>& j_callback_obj) {
136 // Disambiguate RunCallbackAndroid to get the reference to the bool version. 138 // Disambiguate RunCallbackAndroid to get the reference to the bool version.
137 void (*runBoolCallback)(const base::android::JavaRef<jobject>&, bool) = 139 void (*runBoolCallback)(const base::android::JavaRef<jobject>&, bool) =
138 &base::android::RunCallbackAndroid; 140 &base::android::RunCallbackAndroid;
139 feature_engagement_tracker_impl_->AddOnInitializedCallback( 141 feature_engagement_tracker_impl_->AddOnInitializedCallback(
140 base::Bind(runBoolCallback, 142 base::Bind(runBoolCallback,
141 base::android::ScopedJavaGlobalRef<jobject>(j_callback_obj))); 143 base::android::ScopedJavaGlobalRef<jobject>(j_callback_obj)));
142 } 144 }
143 145
144 } // namespace feature_engagement_tracker 146 } // namespace feature_engagement_tracker
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698