Index: Source/web/WebViewImpl.cpp |
diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp |
index 3cd8a54068bd35a1e95930c193eb081fc28904e9..9c768d473aefd7e4cde3f72bc3357bf936739bd5 100644 |
--- a/Source/web/WebViewImpl.cpp |
+++ b/Source/web/WebViewImpl.cpp |
@@ -98,6 +98,7 @@ |
#include "core/dom/KeyboardEvent.h" |
#include "core/dom/NodeRenderStyle.h" |
#include "core/dom/Text.h" |
+#include "core/dom/WheelController.h" |
#include "core/dom/WheelEvent.h" |
#include "core/editing/Editor.h" |
#include "core/editing/FrameSelection.h" |
@@ -1531,6 +1532,8 @@ void WebViewImpl::popupOpened(WebCore::PopupContainer* popupContainer) |
if (popupContainer->popupType() == WebCore::PopupContainer::Select) { |
ASSERT(!m_selectPopup); |
m_selectPopup = popupContainer; |
+ Document* document = mainFrameImpl()->frame()->document(); |
+ WheelController::from(document)->didAddWheelEventHandler(document); |
} |
} |
@@ -1539,6 +1542,8 @@ void WebViewImpl::popupClosed(WebCore::PopupContainer* popupContainer) |
if (popupContainer->popupType() == WebCore::PopupContainer::Select) { |
ASSERT(m_selectPopup); |
m_selectPopup = 0; |
+ Document* document = mainFrameImpl()->frame()->document(); |
+ WheelController::from(document)->didRemoveWheelEventHandler(document); |
} |
} |