| Index: third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp
|
| diff --git a/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp b/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp
|
| index 52a912775741b38ffa41b4fc2694073b0ba66498..093c5a1cc6fac6339ba94bb542ac444086f4c763 100644
|
| --- a/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp
|
| +++ b/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp
|
| @@ -787,13 +787,16 @@ void WebFrameWidgetImpl::HandleMouseLeave(LocalFrame& main_frame,
|
|
|
| void WebFrameWidgetImpl::HandleMouseDown(LocalFrame& main_frame,
|
| const WebMouseEvent& event) {
|
| + // TODO(slangley): Remove this downcast to WebViewImpl once we lift this
|
| + // code into core.
|
| + WebViewImpl* view_impl = ToWebViewImpl(View());
|
| // If there is a popup open, close it as the user is clicking on the page
|
| // (outside of the popup). We also save it so we can prevent a click on an
|
| // element from immediately reopening the same popup.
|
| RefPtr<WebPagePopupImpl> page_popup;
|
| if (event.button == WebMouseEvent::Button::kLeft) {
|
| - page_popup = View()->GetPagePopup();
|
| - View()->HidePopups();
|
| + page_popup = view_impl->GetPagePopup();
|
| + view_impl->HidePopups();
|
| }
|
|
|
| // Take capture on a mouse down on a plugin so we can send it mouse events.
|
| @@ -820,11 +823,11 @@ void WebFrameWidgetImpl::HandleMouseDown(LocalFrame& main_frame,
|
| mouse_capture_gesture_token_ =
|
| main_frame.GetEventHandler().TakeLastMouseDownGestureToken();
|
|
|
| - if (View()->GetPagePopup() && page_popup &&
|
| - View()->GetPagePopup()->HasSamePopupClient(page_popup.Get())) {
|
| + if (view_impl->GetPagePopup() && page_popup &&
|
| + view_impl->GetPagePopup()->HasSamePopupClient(page_popup.Get())) {
|
| // That click triggered a page popup that is the same as the one we just
|
| // closed. It needs to be closed.
|
| - View()->HidePopups();
|
| + view_impl->HidePopups();
|
| }
|
|
|
| // Dispatch the contextmenu event regardless of if the click was swallowed.
|
| @@ -899,6 +902,9 @@ WebInputEventResult WebFrameWidgetImpl::HandleGestureEvent(
|
| DCHECK(client_);
|
| WebInputEventResult event_result = WebInputEventResult::kNotHandled;
|
| bool event_cancelled = false;
|
| + // TODO(slangley): Remove this downcast to WebViewImpl once we lift this
|
| + // code into core.
|
| + WebViewImpl* view_impl = ToWebViewImpl(View());
|
| switch (event.GetType()) {
|
| case WebInputEvent::kGestureScrollBegin:
|
| case WebInputEvent::kGestureScrollEnd:
|
| @@ -912,7 +918,7 @@ WebInputEventResult WebFrameWidgetImpl::HandleGestureEvent(
|
| // When we close a popup because of a GestureTapDown, we also save it so
|
| // we can prevent the following GestureTap from immediately reopening the
|
| // same popup.
|
| - View()->SetLastHiddenPagePopup(View()->GetPagePopup());
|
| + view_impl->SetLastHiddenPagePopup(view_impl->GetPagePopup());
|
| View()->HidePopups();
|
| case WebInputEvent::kGestureTapCancel:
|
| View()->SetLastHiddenPagePopup(nullptr);
|
|
|