OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/android/password_ui_view_android.h" | 5 #include "chrome/browser/android/password_ui_view_android.h" |
6 | 6 |
7 #include "base/android/jni_string.h" | 7 #include "base/android/jni_string.h" |
8 #include "base/android/jni_weak_ref.h" | 8 #include "base/android/jni_weak_ref.h" |
9 #include "base/metrics/field_trial.h" | 9 #include "base/metrics/field_trial.h" |
10 #include "chrome/browser/profiles/profile_manager.h" | 10 #include "chrome/browser/profiles/profile_manager.h" |
11 #include "chrome/browser/sync/profile_sync_service_factory.h" | 11 #include "chrome/browser/sync/profile_sync_service_factory.h" |
12 #include "chrome/common/pref_names.h" | |
13 #include "components/autofill/core/common/password_form.h" | 12 #include "components/autofill/core/common/password_form.h" |
14 #include "components/browser_sync/browser/profile_sync_service.h" | 13 #include "components/browser_sync/browser/profile_sync_service.h" |
15 #include "components/password_manager/core/browser/affiliation_utils.h" | 14 #include "components/password_manager/core/browser/affiliation_utils.h" |
16 #include "components/password_manager/core/browser/password_bubble_experiment.h" | 15 #include "components/password_manager/core/browser/password_bubble_experiment.h" |
17 #include "components/password_manager/core/browser/password_manager_constants.h" | 16 #include "components/password_manager/core/browser/password_manager_constants.h" |
18 #include "components/password_manager/core/common/experiments.h" | 17 #include "components/password_manager/core/common/experiments.h" |
19 #include "components/prefs/pref_service.h" | |
20 #include "jni/PasswordUIView_jni.h" | 18 #include "jni/PasswordUIView_jni.h" |
21 | 19 |
22 using base::android::ConvertUTF16ToJavaString; | 20 using base::android::ConvertUTF16ToJavaString; |
23 using base::android::ConvertUTF8ToJavaString; | 21 using base::android::ConvertUTF8ToJavaString; |
24 using base::android::ScopedJavaLocalRef; | 22 using base::android::ScopedJavaLocalRef; |
25 | 23 |
26 PasswordUIViewAndroid::PasswordUIViewAndroid(JNIEnv* env, jobject obj) | 24 PasswordUIViewAndroid::PasswordUIViewAndroid(JNIEnv* env, jobject obj) |
27 : password_manager_presenter_(this), weak_java_ui_controller_(env, obj) {} | 25 : password_manager_presenter_(this), weak_java_ui_controller_(env, obj) {} |
28 | 26 |
29 PasswordUIViewAndroid::~PasswordUIViewAndroid() {} | 27 PasswordUIViewAndroid::~PasswordUIViewAndroid() {} |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 const JavaParamRef<jobject>&, | 75 const JavaParamRef<jobject>&, |
78 int index) { | 76 int index) { |
79 const autofill::PasswordForm* form = | 77 const autofill::PasswordForm* form = |
80 password_manager_presenter_.GetPassword(index); | 78 password_manager_presenter_.GetPassword(index); |
81 if (!form) { | 79 if (!form) { |
82 return Java_PasswordUIView_createSavedPasswordEntry( | 80 return Java_PasswordUIView_createSavedPasswordEntry( |
83 env, | 81 env, |
84 ConvertUTF8ToJavaString(env, std::string()).obj(), | 82 ConvertUTF8ToJavaString(env, std::string()).obj(), |
85 ConvertUTF16ToJavaString(env, base::string16()).obj()); | 83 ConvertUTF16ToJavaString(env, base::string16()).obj()); |
86 } | 84 } |
87 std::string human_readable_origin = password_manager::GetHumanReadableOrigin( | 85 std::string human_readable_origin = |
88 *form, GetProfile()->GetPrefs()->GetString(prefs::kAcceptLanguages)); | 86 password_manager::GetHumanReadableOrigin(*form); |
89 return Java_PasswordUIView_createSavedPasswordEntry( | 87 return Java_PasswordUIView_createSavedPasswordEntry( |
90 env, ConvertUTF8ToJavaString(env, human_readable_origin).obj(), | 88 env, ConvertUTF8ToJavaString(env, human_readable_origin).obj(), |
91 ConvertUTF16ToJavaString(env, form->username_value).obj()); | 89 ConvertUTF16ToJavaString(env, form->username_value).obj()); |
92 } | 90 } |
93 | 91 |
94 ScopedJavaLocalRef<jstring> PasswordUIViewAndroid::GetSavedPasswordException( | 92 ScopedJavaLocalRef<jstring> PasswordUIViewAndroid::GetSavedPasswordException( |
95 JNIEnv* env, | 93 JNIEnv* env, |
96 const JavaParamRef<jobject>&, | 94 const JavaParamRef<jobject>&, |
97 int index) { | 95 int index) { |
98 const autofill::PasswordForm* form = | 96 const autofill::PasswordForm* form = |
99 password_manager_presenter_.GetPasswordException(index); | 97 password_manager_presenter_.GetPasswordException(index); |
100 if (!form) | 98 if (!form) |
101 return ConvertUTF8ToJavaString(env, std::string()); | 99 return ConvertUTF8ToJavaString(env, std::string()); |
102 std::string human_readable_origin = password_manager::GetHumanReadableOrigin( | 100 std::string human_readable_origin = |
103 *form, GetProfile()->GetPrefs()->GetString(prefs::kAcceptLanguages)); | 101 password_manager::GetHumanReadableOrigin(*form); |
104 return ConvertUTF8ToJavaString(env, human_readable_origin); | 102 return ConvertUTF8ToJavaString(env, human_readable_origin); |
105 } | 103 } |
106 | 104 |
107 void PasswordUIViewAndroid::HandleRemoveSavedPasswordEntry( | 105 void PasswordUIViewAndroid::HandleRemoveSavedPasswordEntry( |
108 JNIEnv* env, | 106 JNIEnv* env, |
109 const JavaParamRef<jobject>&, | 107 const JavaParamRef<jobject>&, |
110 int index) { | 108 int index) { |
111 password_manager_presenter_.RemoveSavedPassword(index); | 109 password_manager_presenter_.RemoveSavedPassword(index); |
112 } | 110 } |
113 | 111 |
(...skipping 21 matching lines...) Expand all Loading... |
135 | 133 |
136 // static | 134 // static |
137 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { | 135 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
138 PasswordUIViewAndroid* controller = new PasswordUIViewAndroid(env, obj); | 136 PasswordUIViewAndroid* controller = new PasswordUIViewAndroid(env, obj); |
139 return reinterpret_cast<intptr_t>(controller); | 137 return reinterpret_cast<intptr_t>(controller); |
140 } | 138 } |
141 | 139 |
142 bool PasswordUIViewAndroid::RegisterPasswordUIViewAndroid(JNIEnv* env) { | 140 bool PasswordUIViewAndroid::RegisterPasswordUIViewAndroid(JNIEnv* env) { |
143 return RegisterNativesImpl(env); | 141 return RegisterNativesImpl(env); |
144 } | 142 } |
OLD | NEW |