Index: content/browser/android/content_view_core_impl.cc |
diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc |
index 30cdd6c86761bc4f485f4d7c5836436321c7e64b..73d885eccff0a4b5ee51b985311f68e480315c43 100644 |
--- a/content/browser/android/content_view_core_impl.cc |
+++ b/content/browser/android/content_view_core_impl.cc |
@@ -488,13 +488,15 @@ void ContentViewCoreImpl::OnBackgroundColorChanged(SkColor color) { |
Java_ContentViewCore_onBackgroundColorChanged(env, obj.obj(), color); |
} |
-void ContentViewCoreImpl::ShowSelectPopupMenu( |
+void ContentViewCoreImpl::ShowSelectPopupMenu(const gfx::Rect& bounds, |
const std::vector<MenuItem>& items, int selected_item, bool multiple) { |
JNIEnv* env = AttachCurrentThread(); |
ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); |
if (j_obj.is_null()) |
return; |
+ ScopedJavaLocalRef<jobject> bounds_rect(CreateJavaRect(env, bounds)); |
+ |
// For multi-select list popups we find the list of previous selections by |
// iterating through the items. But for single selection popups we take the |
// given |selected_item| as is. |
@@ -532,8 +534,11 @@ void ContentViewCoreImpl::ShowSelectPopupMenu( |
ScopedJavaLocalRef<jobjectArray> items_array( |
base::android::ToJavaArrayOfStrings(env, labels)); |
Java_ContentViewCore_showSelectPopup(env, j_obj.obj(), |
- items_array.obj(), enabled_array.obj(), |
- multiple, selected_array.obj()); |
+ bounds_rect.obj(), |
+ items_array.obj(), |
+ enabled_array.obj(), |
+ multiple, |
+ selected_array.obj()); |
} |
void ContentViewCoreImpl::HideSelectPopupMenu() { |