Index: Source/WebKit/chromium/src/WebPluginContainerImpl.cpp |
=================================================================== |
--- Source/WebKit/chromium/src/WebPluginContainerImpl.cpp (revision 136415) |
+++ Source/WebKit/chromium/src/WebPluginContainerImpl.cpp (working copy) |
@@ -67,6 +67,7 @@ |
#include "ScrollAnimator.h" |
#include "ScrollView.h" |
#include "ScrollbarTheme.h" |
+#include "ScrollingCoordinator.h" |
#include "TouchEvent.h" |
#include "UserGestureIndicator.h" |
#include "WebPrintParams.h" |
@@ -532,6 +533,19 @@ |
m_element->document()->didRemoveTouchEventHandler(); |
} |
+void WebPluginContainerImpl::setWantsWheelEvents(bool wantsWheelEvents) |
+{ |
+ if (m_wantsWheelEvents == wantsWheelEvents) |
+ return; |
+ m_wantsWheelEvents = wantsWheelEvents; |
+ if (Page* page = m_element->document()->page()) { |
+ if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordinator()) { |
+ if (parent() && parent()->isFrameView()) |
+ scrollingCoordinator->frameViewLayoutUpdated(static_cast<FrameView*>(parent())); |
+ } |
+ } |
+} |
+ |
void WebPluginContainerImpl::didReceiveResponse(const ResourceResponse& response) |
{ |
// Make sure that the plugin receives window geometry before data, or else |
@@ -582,6 +596,11 @@ |
return m_webPlugin->canProcessDrag(); |
} |
+bool WebPluginContainerImpl::wantsWheelEvents() |
+{ |
+ return m_wantsWheelEvents; |
+} |
+ |
void WebPluginContainerImpl::willDestroyPluginLoadObserver(WebPluginLoadObserver* observer) |
{ |
size_t pos = m_pluginLoadObservers.find(observer); |
@@ -641,6 +660,7 @@ |
, m_ioSurfaceId(0) |
#endif |
, m_isAcceptingTouchEvents(false) |
+ , m_wantsWheelEvents(false) |
{ |
} |