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 006fffbae9ed80d33047cfd448e6e3cfe7c75580..3afe4f8d7c09a8f9cad814651dd27e0b862b6120 100644 |
--- a/chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc |
+++ b/chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc |
@@ -24,16 +24,14 @@ namespace autofill { |
namespace { |
void AddToJavaArray(const Suggestion& suggestion, |
- const AutofillPopupController& controller, |
+ int icon_id, |
JNIEnv* env, |
jobjectArray data_array, |
size_t position, |
bool deletable) { |
int android_icon_id = 0; |
- if (!suggestion.icon.empty()) { |
- android_icon_id = ResourceMapper::MapFromChromiumId( |
- controller.GetIconResourceID(suggestion.icon)); |
- } |
+ if (!suggestion.icon.empty()) |
+ android_icon_id = ResourceMapper::MapFromChromiumId(icon_id); |
Java_AutofillKeyboardAccessoryBridge_addToAutofillSuggestionArray( |
env, data_array, position, |
@@ -46,8 +44,7 @@ void AddToJavaArray(const Suggestion& suggestion, |
AutofillKeyboardAccessoryView::AutofillKeyboardAccessoryView( |
AutofillPopupController* controller) |
- : controller_(controller), |
- deleting_index_(-1) { |
+ : view_helper_(controller), controller_(controller), deleting_index_(-1) { |
JNIEnv* env = base::android::AttachCurrentThread(); |
java_object_.Reset(Java_AutofillKeyboardAccessoryBridge_create(env)); |
} |
@@ -89,8 +86,9 @@ void AutofillKeyboardAccessoryView::UpdateBoundsAndRedrawPopup() { |
for (size_t i = 0; i < count; ++i) { |
const Suggestion& suggestion = controller_->GetSuggestionAt(i); |
if (suggestion.frontend_id == POPUP_ITEM_ID_CLEAR_FORM) { |
- AddToJavaArray(suggestion, *controller_, env, data_array.obj(), position, |
- false); |
+ AddToJavaArray(suggestion, |
+ view_helper_.GetIconResourceID(suggestion.icon), env, |
+ data_array.obj(), position, false); |
positions_[position++] = i; |
} |
} |
@@ -100,8 +98,9 @@ void AutofillKeyboardAccessoryView::UpdateBoundsAndRedrawPopup() { |
if (suggestion.frontend_id != POPUP_ITEM_ID_CLEAR_FORM) { |
bool deletable = |
controller_->GetRemovalConfirmationText(i, nullptr, nullptr); |
- AddToJavaArray(suggestion, *controller_, env, data_array.obj(), position, |
- deletable); |
+ AddToJavaArray(suggestion, |
+ view_helper_.GetIconResourceID(suggestion.icon), env, |
+ data_array.obj(), position, deletable); |
positions_[position++] = i; |
} |
} |
@@ -110,6 +109,14 @@ void AutofillKeyboardAccessoryView::UpdateBoundsAndRedrawPopup() { |
env, java_object_.obj(), data_array.obj(), controller_->IsRTL()); |
} |
+int AutofillKeyboardAccessoryView::LineFromY(int y) { |
+ return view_helper_.LineFromY(y); |
+} |
+ |
+gfx::Rect AutofillKeyboardAccessoryView::GetPopupBounds() { |
+ return view_helper_.popup_bounds(); |
+} |
+ |
void AutofillKeyboardAccessoryView::SuggestionSelected( |
JNIEnv* env, |
const JavaParamRef<jobject>& obj, |