Index: Source/web/WebViewImpl.cpp |
diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp |
index 1b0251d0de2bf96af9c60876a87ea1cabe88be40..25b125c9cf60cf8202e2025c3cc45a30042dd442 100644 |
--- a/Source/web/WebViewImpl.cpp |
+++ b/Source/web/WebViewImpl.cpp |
@@ -146,7 +146,6 @@ |
#include "web/GraphicsLayerFactoryChromium.h" |
#include "web/LinkHighlight.h" |
#include "web/NavigatorContentUtilsClientImpl.h" |
-#include "web/PopupContainer.h" |
#include "web/PrerendererClientImpl.h" |
#include "web/StorageQuotaClientImpl.h" |
#include "web/ValidationMessageClientImpl.h" |
@@ -157,7 +156,6 @@ |
#include "web/WebLocalFrameImpl.h" |
#include "web/WebPagePopupImpl.h" |
#include "web/WebPluginContainerImpl.h" |
-#include "web/WebPopupMenuImpl.h" |
#include "web/WebRemoteFrameImpl.h" |
#include "web/WebSettingsImpl.h" |
#include "web/WorkerGlobalScopeProxyProviderImpl.h" |
@@ -487,13 +485,10 @@ void WebViewImpl::handleMouseDown(LocalFrame& mainFrame, const WebMouseEvent& ev |
// 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. |
- RefPtrWillBeRawPtr<PopupContainer> selectPopup = nullptr; |
RefPtr<WebPagePopupImpl> pagePopup; |
if (event.button == WebMouseEvent::ButtonLeft) { |
- selectPopup = m_selectPopup; |
pagePopup = m_pagePopup; |
hidePopups(); |
- ASSERT(!m_selectPopup); |
ASSERT(!m_pagePopup); |
} |
@@ -520,14 +515,6 @@ void WebViewImpl::handleMouseDown(LocalFrame& mainFrame, const WebMouseEvent& ev |
if (event.button == WebMouseEvent::ButtonLeft && m_mouseCaptureNode) |
m_mouseCaptureGestureToken = mainFrame.eventHandler().takeLastMouseDownGestureToken(); |
- if (m_selectPopup && m_selectPopup == selectPopup) { |
- // That click triggered a select popup which is the same as the one that |
- // was showing before the click. It means the user clicked the select |
- // while the popup was showing, and as a result we first closed then |
- // immediately reopened the select popup. It needs to be closed. |
- hideSelectPopup(); |
- } |
- |
if (m_pagePopup && pagePopup && m_pagePopup->hasSamePopupClient(pagePopup.get())) { |
// That click triggered a page popup that is the same as the one we just closed. |
// It needs to be closed. |
@@ -735,11 +722,6 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event) |
break; |
} |
- RefPtrWillBeRawPtr<PopupContainer> selectPopup = nullptr; |
- selectPopup = m_selectPopup; |
- hideSelectPopup(); |
- ASSERT(!m_selectPopup); |
- |
// Don't trigger a disambiguation popup on sites designed for mobile devices. |
// Instead, assume that the page has been designed with big enough buttons and links. |
// Don't trigger a disambiguation popup when screencasting, since it's implemented outside of |
@@ -781,14 +763,6 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event) |
eventSwallowed = mainFrameImpl()->frame()->eventHandler().handleGestureEvent(targetedEvent); |
- if (m_selectPopup && m_selectPopup == selectPopup) { |
- // That tap triggered a select popup which is the same as the one that |
- // was showing before the tap. It means the user tapped the select |
- // while the popup was showing, and as a result we first closed then |
- // immediately reopened the select popup. It needs to be closed. |
- hideSelectPopup(); |
- } |
- |
break; |
} |
case WebInputEvent::GestureTwoFingerTap: |
@@ -972,10 +946,8 @@ bool WebViewImpl::handleKeyEvent(const WebKeyboardEvent& event) |
// event. |
m_suppressNextKeypressEvent = false; |
- // If there is a select popup, it should be the one processing the event, |
+ // If there is a popup, it should be the one processing the event, |
// not the page. |
- if (m_selectPopup) |
- return m_selectPopup->handleKeyEvent(PlatformKeyboardEventBuilder(event)); |
if (m_pagePopup) { |
m_pagePopup->handleKeyEvent(PlatformKeyboardEventBuilder(event)); |
// We need to ignore the next Char event after this otherwise pressing |
@@ -1041,10 +1013,8 @@ bool WebViewImpl::handleCharEvent(const WebKeyboardEvent& event) |
bool suppress = m_suppressNextKeypressEvent; |
m_suppressNextKeypressEvent = false; |
- // If there is a select popup, it should be the one processing the event, |
+ // If there is a popup, it should be the one processing the event, |
// not the page. |
- if (m_selectPopup) |
- return m_selectPopup->handleKeyEvent(PlatformKeyboardEventBuilder(event)); |
if (m_pagePopup) |
return m_pagePopup->handleKeyEvent(PlatformKeyboardEventBuilder(event)); |
@@ -1535,34 +1505,6 @@ bool WebViewImpl::mapKeyCodeForScroll( |
return true; |
} |
-void WebViewImpl::hideSelectPopup() |
-{ |
- if (m_selectPopup) |
- m_selectPopup->hidePopup(); |
-} |
- |
-void WebViewImpl::popupOpened(PopupContainer* popupContainer) |
-{ |
- ASSERT(!m_selectPopup); |
- m_selectPopup = popupContainer; |
- ASSERT(mainFrameImpl()->frame()->document()); |
- Document& document = *mainFrameImpl()->frame()->document(); |
- page()->frameHost().eventHandlerRegistry().didAddEventHandler(document, EventHandlerRegistry::WheelEvent); |
-} |
- |
-void WebViewImpl::popupClosed(PopupContainer* popupContainer) |
-{ |
- ASSERT(m_selectPopup); |
- m_selectPopup = nullptr; |
- ASSERT(mainFrameImpl()->frame()->document()); |
- Document& document = *mainFrameImpl()->frame()->document(); |
- // Remove the handler we added in |popupOpened| conditionally, because the |
- // Document may have already removed it, for instance, due to a navigation. |
- EventHandlerRegistry* registry = &document.frameHost()->eventHandlerRegistry(); |
- if (registry->eventHandlerTargets(EventHandlerRegistry::WheelEvent)->contains(&document)) |
- registry->didRemoveEventHandler(document, EventHandlerRegistry::WheelEvent); |
-} |
- |
PagePopup* WebViewImpl::openPagePopup(PagePopupClient* client, const IntRect& originBoundsInRootView) |
{ |
ASSERT(client); |
@@ -3834,7 +3776,6 @@ void WebViewImpl::extractSmartClipData(WebRect rect, WebString& clipText, WebStr |
void WebViewImpl::hidePopups() |
{ |
- hideSelectPopup(); |
if (m_pagePopup) |
closePagePopup(m_pagePopup.get()); |
} |