X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fchrome%2Fbrowser%2Fandroid%2Fpassword_ui_view_android.cc;h=e26c552d594945a790c6b0bdb2bbf435b680a246;hb=004985e17e624662a4c85c76a7654039dc83f028;hp=ec41f514c6b1608b7de3bb27101fd4216867ce0d;hpb=2f108dbacb161091e42a3479f4e171339b7e7623;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/chrome/browser/android/password_ui_view_android.cc b/src/chrome/browser/android/password_ui_view_android.cc index ec41f51..e26c552 100644 --- a/src/chrome/browser/android/password_ui_view_android.cc +++ b/src/chrome/browser/android/password_ui_view_android.cc @@ -4,8 +4,8 @@ #include "chrome/browser/android/password_ui_view_android.h" -#include "base/android/jni_helper.h" #include "base/android/jni_string.h" +#include "base/android/jni_weak_ref.h" #include "chrome/browser/profiles/profile_manager.h" #include "components/autofill/core/common/password_form.h" #include "jni/PasswordUIView_jni.h" @@ -60,19 +60,27 @@ void PasswordUIViewAndroid::UpdatePasswordLists(JNIEnv* env, jobject) { ScopedJavaLocalRef PasswordUIViewAndroid::GetSavedPasswordEntry(JNIEnv* env, jobject, int index) { - const autofill::PasswordForm& form = + const autofill::PasswordForm* form = password_manager_presenter_.GetPassword(index); + if (!form) { + return Java_PasswordUIView_createSavedPasswordEntry( + env, + ConvertUTF8ToJavaString(env, std::string()).obj(), + ConvertUTF16ToJavaString(env, base::string16()).obj()); + } return Java_PasswordUIView_createSavedPasswordEntry( env, - ConvertUTF8ToJavaString(env, form.origin.spec()).obj(), - ConvertUTF16ToJavaString(env, form.username_value).obj()); + ConvertUTF8ToJavaString(env, form->origin.spec()).obj(), + ConvertUTF16ToJavaString(env, form->username_value).obj()); } ScopedJavaLocalRef PasswordUIViewAndroid::GetSavedPasswordException( JNIEnv* env, jobject, int index) { - const autofill::PasswordForm& form = + const autofill::PasswordForm* form = password_manager_presenter_.GetPasswordException(index); - return ConvertUTF8ToJavaString(env, form.origin.spec()); + if (!form) + return ConvertUTF8ToJavaString(env, std::string()); + return ConvertUTF8ToJavaString(env, form->origin.spec()); } void PasswordUIViewAndroid::HandleRemoveSavedPasswordEntry(