| 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 |