| 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 0ea0aea9de0494e69ff800916624fa7136265ecf..ed4c57c254eb1f2a49ef85e89da2ee339f3540f5 100644
|
| --- a/content/browser/android/content_view_core_impl.cc
|
| +++ b/content/browser/android/content_view_core_impl.cc
|
| @@ -505,8 +505,6 @@ void ContentViewCoreImpl::ShowSelectPopupMenu(
|
| 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.
|
| @@ -543,8 +541,14 @@ void ContentViewCoreImpl::ShowSelectPopupMenu(
|
| }
|
| ScopedJavaLocalRef<jobjectArray> items_array(
|
| base::android::ToJavaArrayOfStrings(env, labels));
|
| + select_popup_ = view_.AcquireAnchorView();
|
| + if (select_popup_.is_null())
|
| + return;
|
| + view_.SetAnchorRect(select_popup_.view(),
|
| + gfx::ScaleRect(gfx::RectF(bounds), page_scale_));
|
| Java_ContentViewCore_showSelectPopup(
|
| - env, j_obj.obj(), reinterpret_cast<intptr_t>(frame), bounds_rect.obj(),
|
| + env, j_obj.obj(), select_popup_.view().obj(),
|
| + bounds.width() * page_scale_, reinterpret_cast<intptr_t>(frame),
|
| items_array.obj(), enabled_array.obj(), multiple, selected_array.obj(),
|
| right_aligned);
|
| }
|
| @@ -554,6 +558,8 @@ void ContentViewCoreImpl::HideSelectPopupMenu() {
|
| ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env);
|
| if (!j_obj.is_null())
|
| Java_ContentViewCore_hideSelectPopup(env, j_obj.obj());
|
| + if (!select_popup_.is_null())
|
| + select_popup_.Reset();
|
| }
|
|
|
| void ContentViewCoreImpl::OnGestureEventAck(const blink::WebGestureEvent& event,
|
| @@ -865,11 +871,6 @@ void ContentViewCoreImpl::SelectBetweenCoordinates(const gfx::PointF& base,
|
| web_contents_->SelectRange(base_point, extent_point);
|
| }
|
|
|
| -const base::android::JavaRef<jobject>&
|
| -ContentViewCoreImpl::GetViewAndroidDelegate() const {
|
| - return view_.GetViewAndroidDelegate();
|
| -}
|
| -
|
| ui::WindowAndroid* ContentViewCoreImpl::GetWindowAndroid() const {
|
| return view_.GetWindowAndroid();
|
| }
|
|
|