Chromium Code Reviews| Index: chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc |
| diff --git a/chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc b/chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc |
| index 33ef3fb492c86dfbca365a7f55be7a9722dad9ec..87a781fb78e194f9b4c2d2a55700648854845cf0 100644 |
| --- a/chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc |
| +++ b/chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc |
| @@ -22,7 +22,8 @@ namespace autofill { |
| AutofillKeyboardAccessoryView::AutofillKeyboardAccessoryView( |
| AutofillPopupController* controller) |
| - : controller_(controller) { |
| + : controller_(controller), |
| + deleting_index_(-1) { |
| JNIEnv* env = base::android::AttachCurrentThread(); |
| java_object_.Reset(Java_AutofillKeyboardAccessoryBridge_create(env)); |
| } |
| @@ -66,11 +67,13 @@ void AutofillKeyboardAccessoryView::UpdateBoundsAndRedrawPopup() { |
| controller_->GetIconResourceID(suggestion.icon)); |
| } |
| + bool deletable = |
| + controller_->GetRemovalConfirmationText(i, nullptr, nullptr); |
| Java_AutofillKeyboardAccessoryBridge_addToAutofillSuggestionArray( |
| env, data_array.obj(), i, |
| base::android::ConvertUTF16ToJavaString(env, suggestion.value).obj(), |
| base::android::ConvertUTF16ToJavaString(env, suggestion.label).obj(), |
| - android_icon_id, suggestion.frontend_id); |
| + android_icon_id, suggestion.frontend_id, deletable); |
| } |
| Java_AutofillKeyboardAccessoryBridge_show( |
| @@ -85,6 +88,34 @@ void AutofillKeyboardAccessoryView::SuggestionSelected(JNIEnv* env, |
| controller_->AcceptSuggestion(list_index); |
| } |
| +void AutofillKeyboardAccessoryView::DeletionRequested(JNIEnv* env, |
| + jobject obj, |
| + jint list_index) { |
| + if (!controller_) |
| + return; |
| + |
| + base::string16 confirmation_title, confirmation_body; |
| + if (!controller_->GetRemovalConfirmationText(list_index, &confirmation_title, |
| + &confirmation_body)) { |
| + return; |
| + } |
| + |
| + deleting_index_ = list_index; |
|
Yaron
2015/08/14 18:13:42
i would much prefer it the way newt@ suggested of
please use gerrit instead
2015/08/14 20:23:31
Done.
|
| + Java_AutofillKeyboardAccessoryBridge_confirmDeletion( |
| + env, java_object_.obj(), |
| + base::android::ConvertUTF16ToJavaString(env, confirmation_title).obj(), |
| + base::android::ConvertUTF16ToJavaString(env, confirmation_body).obj()); |
| +} |
| + |
| +void AutofillKeyboardAccessoryView::DeletionConfirmed(JNIEnv* env, |
| + jobject obj) { |
| + if (!controller_) |
| + return; |
| + |
| + CHECK_GE(deleting_index_, 0); |
| + controller_->RemoveSuggestion(deleting_index_); |
| +} |
| + |
| void AutofillKeyboardAccessoryView::ViewDismissed(JNIEnv* env, jobject obj) { |
| if (controller_) |
| controller_->ViewDestroyed(); |