Changeset 108698 in webkit
- Timestamp:
- Feb 23, 2012 4:29:53 PM (12 years ago)
- Location:
- trunk/Source
- Files:
-
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r108696 r108698 1 2012-02-21 James Robinson <jamesr@chromium.org> 2 3 [chromium] Notify compositor of wheel event registration via ScrollingCoordinator 4 https://bugs.webkit.org/show_bug.cgi?id=79133 5 6 Reviewed by Dimitri Glazkov. 7 8 This notifies the chromium compositor of changes to the number of wheel event handlers via ScrollingCoordinator 9 instead of through ChromeClient/WebViewImpl. This is the path we'll use for other properties in the future and 10 is more extensible for handling things other than the root layer. 11 12 Property behavior is covered by new unit tests in LayerChromiumTests and CCLayerTreeHostImplTest. 13 14 * page/scrolling/ScrollingCoordinator.cpp: 15 * page/scrolling/ScrollingCoordinator.h: 16 (WebCore): 17 (ScrollingCoordinator): 18 Add a ScrollingCoordinatorPrivate so implementations can tack on additional data without having to #ifdef up 19 ScrollingCoordinator.h/cpp 20 * page/scrolling/ScrollingCoordinatorNone.cpp: 21 (WebCore): 22 (WebCore::ScrollingCoordinator::~ScrollingCoordinator): 23 * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: 24 (ScrollingCoordinatorPrivate): 25 ScrollingCoordinatorPrivate in the chromium implementation keeps a reference to the scroll layer. 26 (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate): 27 (WebCore::ScrollingCoordinatorPrivate::~ScrollingCoordinatorPrivate): 28 (WebCore::ScrollingCoordinatorPrivate::setScrollLayer): 29 (WebCore::ScrollingCoordinatorPrivate::scrollLayer): 30 (WebCore): 31 (WebCore::ScrollingCoordinator::create): 32 (WebCore::ScrollingCoordinator::~ScrollingCoordinator): 33 (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): 34 (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): 35 (WebCore::ScrollingCoordinator::setScrollLayer): 36 (WebCore::ScrollingCoordinator::setNonFastScrollableRegion): 37 (WebCore::ScrollingCoordinator::setScrollParameters): 38 (WebCore::ScrollingCoordinator::setWheelEventHandlerCount): 39 (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread): 40 * page/scrolling/mac/ScrollingCoordinatorMac.mm: 41 (WebCore): 42 (WebCore::ScrollingCoordinator::~ScrollingCoordinator): 43 * platform/graphics/chromium/LayerChromium.cpp: 44 (WebCore::LayerChromium::LayerChromium): 45 (WebCore::LayerChromium::setHaveWheelEventHandlers): 46 (WebCore): 47 (WebCore::LayerChromium::pushPropertiesTo): 48 * platform/graphics/chromium/LayerChromium.h: 49 (LayerChromium): 50 * platform/graphics/chromium/cc/CCInputHandler.h: 51 * platform/graphics/chromium/cc/CCLayerImpl.cpp: 52 (WebCore::CCLayerImpl::CCLayerImpl): 53 * platform/graphics/chromium/cc/CCLayerImpl.h: 54 (WebCore::CCLayerImpl::haveWheelEventHandlers): 55 (WebCore::CCLayerImpl::setHaveWheelEventHandlers): 56 (CCLayerImpl): 57 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: 58 (WebCore::CCLayerTreeHost::CCLayerTreeHost): 59 (WebCore::CCLayerTreeHost::finishCommitOnImplThread): 60 * platform/graphics/chromium/cc/CCLayerTreeHost.h: 61 (CCLayerTreeHost): 62 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: 63 (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): 64 (WebCore::CCLayerTreeHostImpl::scrollBegin): 65 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: 66 (CCLayerTreeHostImpl): 67 1 68 2012-02-23 No'am Rosenthal <noam.rosenthal@nokia.com> 2 69 -
trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
r108579 r108698 62 62 } 63 63 64 ScrollingCoordinator::~ScrollingCoordinator()65 {66 ASSERT(!m_page);67 #if ENABLE(THREADED_SCROLLING)68 ASSERT(!m_scrollingTree);69 #endif70 }71 72 64 void ScrollingCoordinator::pageDestroyed() 73 65 { -
trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.h
r108485 r108698 49 49 class PlatformWheelEvent; 50 50 class Region; 51 class ScrollingCoordinatorPrivate; 51 52 class ScrollingTreeState; 52 53 … … 134 135 Timer<ScrollingCoordinator> m_scrollingTreeStateCommitterTimer; 135 136 #endif 137 138 ScrollingCoordinatorPrivate* m_private; 136 139 }; 137 140 -
trunk/Source/WebCore/page/scrolling/ScrollingCoordinatorNone.cpp
r108202 r108698 30 30 namespace WebCore { 31 31 32 class ScrollingCoordinatorPrivate { 33 }; 34 32 35 #if !ENABLE(THREADED_SCROLLING) 33 36 PassRefPtr<ScrollingCoordinator> ScrollingCoordinator::create(Page* page) 34 37 { 35 38 return adoptRef(new ScrollingCoordinator(page)); 39 } 40 41 ScrollingCoordinator::~ScrollingCoordinator() 42 { 43 ASSERT(!m_page); 36 44 } 37 45 -
trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp
r108422 r108698 28 28 #include "ScrollingCoordinator.h" 29 29 30 #include "LayerChromium.h" 31 #include "Region.h" 32 30 33 namespace WebCore { 34 35 class ScrollingCoordinatorPrivate { 36 WTF_MAKE_NONCOPYABLE(ScrollingCoordinatorPrivate); 37 public: 38 ScrollingCoordinatorPrivate() { } 39 ~ScrollingCoordinatorPrivate() { } 40 41 void setScrollLayer(LayerChromium* layer) { m_scrollLayer = layer; } 42 LayerChromium* scrollLayer() const { return m_scrollLayer.get(); } 43 44 private: 45 RefPtr<LayerChromium> m_scrollLayer; 46 }; 31 47 32 48 PassRefPtr<ScrollingCoordinator> ScrollingCoordinator::create(Page* page) 33 49 { 34 return adoptRef(new ScrollingCoordinator(page)); 50 RefPtr<ScrollingCoordinator> coordinator(adoptRef(new ScrollingCoordinator(page))); 51 coordinator->m_private = new ScrollingCoordinatorPrivate; 52 return coordinator.release(); 53 } 54 55 ScrollingCoordinator::~ScrollingCoordinator() 56 { 57 ASSERT(!m_page); 58 delete m_private; 35 59 } 36 60 … … 47 71 void ScrollingCoordinator::setScrollLayer(GraphicsLayer* scrollLayer) 48 72 { 49 // FIXME: Implement!73 m_private->setScrollLayer(scrollLayer ? scrollLayer->platformLayer() : 0); 50 74 } 51 75 … … 62 86 } 63 87 64 void ScrollingCoordinator::setWheelEventHandlerCount(unsigned )88 void ScrollingCoordinator::setWheelEventHandlerCount(unsigned wheelEventHandlerCount) 65 89 { 66 // FIXME: Implement! 90 if (LayerChromium* layer = m_private->scrollLayer()) 91 layer->setHaveWheelEventHandlers(wheelEventHandlerCount > 0); 67 92 } 68 93 69 void ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread(bool )94 void ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread(bool should) 70 95 { 71 96 // FIXME: Implement! -
trunk/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm
r108202 r108698 43 43 namespace WebCore { 44 44 45 class ScrollingCoordinatorPrivate { 46 }; 47 45 48 PassRefPtr<ScrollingCoordinator> ScrollingCoordinator::create(Page* page) 46 49 { … … 48 51 } 49 52 53 ScrollingCoordinator::~ScrollingCoordinator() 54 { 55 ASSERT(!m_page); 56 ASSERT(!m_scrollingTree); 57 } 50 58 51 59 void ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange(FrameView* frameView, GraphicsLayer*) -
trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp
r108581 r108698 63 63 , m_layerAnimationController(CCLayerAnimationController::create()) 64 64 , m_scrollable(false) 65 , m_haveWheelEventHandlers(false) 65 66 , m_anchorPoint(0.5, 0.5) 66 67 , m_backgroundColor(0, 0, 0, 0) … … 413 414 } 414 415 416 void LayerChromium::setHaveWheelEventHandlers(bool haveWheelEventHandlers) 417 { 418 if (m_haveWheelEventHandlers == haveWheelEventHandlers) 419 return; 420 m_haveWheelEventHandlers = haveWheelEventHandlers; 421 setNeedsCommit(); 422 } 423 415 424 void LayerChromium::setDoubleSided(bool doubleSided) 416 425 { … … 467 476 layer->setMasksToBounds(m_masksToBounds); 468 477 layer->setScrollable(m_scrollable); 478 layer->setHaveWheelEventHandlers(m_haveWheelEventHandlers); 469 479 layer->setName(m_name); 470 480 layer->setOpaque(m_opaque); -
trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.h
r108581 r108698 132 132 133 133 void setScrollable(bool); 134 bool scrollable() const { return m_scrollable; }134 void setHaveWheelEventHandlers(bool); 135 135 136 136 IntSize scrollDelta() const { return IntSize(); } … … 276 276 IntPoint m_scrollPosition; 277 277 bool m_scrollable; 278 bool m_haveWheelEventHandlers; 278 279 FloatPoint m_position; 279 280 FloatPoint m_anchorPoint; -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCInputHandler.h
r105566 r108698 47 47 48 48 enum ScrollStatus { ScrollFailed, ScrollStarted, ScrollIgnored }; 49 enum ScrollInputType { Gesture, Wheel }; 49 50 50 51 // Attempt to start scrolling a layer at a given point in window … … 53 54 // delegated to the main thread, or ScrollIgnored if there is nothing to 54 55 // be scrolled at the given coordinates. 55 virtual ScrollStatus scrollBegin(const IntPoint& ) = 0;56 virtual ScrollStatus scrollBegin(const IntPoint&, ScrollInputType) = 0; 56 57 57 58 // Scroll the layer selected with scrollBegin(). If there is no room to … … 65 66 virtual void scrollEnd() = 0; 66 67 67 virtual bool haveWheelEventHandlers() = 0;68 68 virtual void pinchGestureBegin() = 0; 69 69 virtual void pinchGestureUpdate(float magnifyDelta, const IntPoint& anchor) = 0; -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp
r108581 r108698 47 47 , m_anchorPointZ(0) 48 48 , m_scrollable(false) 49 , m_haveWheelEventHandlers(false) 49 50 , m_backgroundCoversViewport(false) 50 51 , m_doubleSided(true) -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
r108581 r108698 182 182 void setScrollable(bool scrollable) { m_scrollable = scrollable; } 183 183 184 bool haveWheelEventHandlers() const { return m_haveWheelEventHandlers; } 185 void setHaveWheelEventHandlers(bool haveWheelEventHandlers) { m_haveWheelEventHandlers = haveWheelEventHandlers; } 186 184 187 const IntRect& visibleLayerRect() const { return m_visibleLayerRect; } 185 188 void setVisibleLayerRect(const IntRect& visibleLayerRect) { m_visibleLayerRect = visibleLayerRect; } … … 246 249 IntPoint m_scrollPosition; 247 250 bool m_scrollable; 251 bool m_haveWheelEventHandlers; 248 252 Color m_backgroundColor; 249 253 bool m_backgroundCoversViewport; -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp
r108581 r108698 69 69 , m_settings(settings) 70 70 , m_visible(true) 71 , m_haveWheelEventHandlers(false)72 71 , m_pageScaleFactor(1) 73 72 , m_minPageScaleFactor(1) … … 180 179 181 180 hostImpl->setSourceFrameNumber(frameNumber()); 182 hostImpl->setHaveWheelEventHandlers(m_haveWheelEventHandlers);183 181 hostImpl->setViewportSize(viewportSize()); 184 182 hostImpl->setPageScaleFactorAndLimits(m_pageScaleFactor, m_minPageScaleFactor, m_maxPageScaleFactor); … … 350 348 } else 351 349 hostImpl->setRootLayer(0); 352 }353 354 void CCLayerTreeHost::setHaveWheelEventHandlers(bool haveWheelEventHandlers)355 {356 if (m_haveWheelEventHandlers == haveWheelEventHandlers)357 return;358 m_haveWheelEventHandlers = haveWheelEventHandlers;359 m_proxy->setNeedsCommit();360 350 } 361 351 -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h
r108581 r108698 186 186 void setVisible(bool); 187 187 188 void setHaveWheelEventHandlers(bool);189 190 188 // Returns false if we should abort this frame due to initialization failure. 191 189 bool updateLayers(); … … 241 239 IntSize m_viewportSize; 242 240 bool m_visible; 243 bool m_haveWheelEventHandlers;244 241 typedef HashMap<GraphicsContext3D*, RefPtr<RateLimiter> > RateLimiterMap; 245 242 RateLimiterMap m_rateLimiters; -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp
r108581 r108698 53 53 , m_settings(settings) 54 54 , m_visible(true) 55 , m_haveWheelEventHandlers(false)56 55 , m_pageScale(1) 57 56 , m_pageScaleDelta(1) … … 487 486 } 488 487 489 CCInputHandlerClient::ScrollStatus CCLayerTreeHostImpl::scrollBegin(const IntPoint& )488 CCInputHandlerClient::ScrollStatus CCLayerTreeHostImpl::scrollBegin(const IntPoint& point, CCInputHandlerClient::ScrollInputType type) 490 489 { 491 490 // TODO: Check for scrollable sublayers. 492 if (!m_scrollLayerImpl || !m_scrollLayerImpl->scrollable()) 491 if (!m_scrollLayerImpl || !m_scrollLayerImpl->scrollable()) { 492 TRACE_EVENT("scrollBegin Ignored no scrollable", this, 0); 493 493 return ScrollIgnored; 494 } 495 496 if (type == CCInputHandlerClient::Wheel && m_scrollLayerImpl->haveWheelEventHandlers()) { 497 TRACE_EVENT("scrollBegin Failed wheelEventHandlers", this, 0); 498 return ScrollFailed; 499 } 494 500 495 501 return ScrollStarted; … … 509 515 void CCLayerTreeHostImpl::scrollEnd() 510 516 { 511 }512 513 bool CCLayerTreeHostImpl::haveWheelEventHandlers()514 {515 return m_haveWheelEventHandlers;516 517 } 517 518 -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h
r108581 r108698 63 63 // CCInputHandlerClient implementation 64 64 virtual void setNeedsRedraw(); 65 virtual CCInputHandlerClient::ScrollStatus scrollBegin(const IntPoint& );65 virtual CCInputHandlerClient::ScrollStatus scrollBegin(const IntPoint&, CCInputHandlerClient::ScrollInputType); 66 66 virtual void scrollBy(const IntSize&); 67 67 virtual void scrollEnd(); 68 virtual bool haveWheelEventHandlers();69 68 virtual void pinchGestureBegin(); 70 69 virtual void pinchGestureUpdate(float, const IntPoint&); … … 102 101 bool visible() const { return m_visible; } 103 102 void setVisible(bool); 104 void setHaveWheelEventHandlers(bool haveWheelEventHandlers) { m_haveWheelEventHandlers = haveWheelEventHandlers; }105 103 106 104 int sourceFrameNumber() const { return m_sourceFrameNumber; } … … 161 159 IntSize m_viewportSize; 162 160 bool m_visible; 163 bool m_haveWheelEventHandlers;164 161 165 162 float m_pageScale; -
trunk/Source/WebKit/chromium/ChangeLog
r108679 r108698 1 2012-02-21 James Robinson <jamesr@chromium.org> 2 3 [chromium] Notify compositor of wheel event registration via ScrollingCoordinator 4 https://bugs.webkit.org/show_bug.cgi?id=79133 5 6 Reviewed by Dimitri Glazkov. 7 8 Rips out old wheel event notification and adds unit tests for new LayerChromium property. 9 10 * src/NonCompositedContentHost.cpp: 11 (WebKit::NonCompositedContentHost::setViewport): 12 * src/WebCompositorInputHandlerImpl.cpp: 13 (WebKit::WebCompositorInputHandlerImpl::handleInputEvent): 14 * src/WebViewImpl.cpp: 15 (WebKit::WebViewImpl::numberOfWheelEventHandlersChanged): 16 (WebKit::WebViewImpl::setIsAcceleratedCompositingActive): 17 * src/WebViewImpl.h: 18 * tests/CCLayerTreeHostImplTest.cpp: 19 (WebKit::TEST_F): 20 (WebKit): 21 * tests/LayerChromiumTest.cpp: 22 * tests/WebCompositorInputHandlerImplTest.cpp: 23 1 24 2012-02-23 Adrienne Walker <enne@google.com> 2 25 -
trunk/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp
r107125 r108698 122 122 ASSERT(m_client); 123 123 124 if (event.type == WebInputEvent::MouseWheel && !m_inputHandlerClient->haveWheelEventHandlers()) {124 if (event.type == WebInputEvent::MouseWheel) { 125 125 const WebMouseWheelEvent& wheelEvent = *static_cast<const WebMouseWheelEvent*>(&event); 126 CCInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(IntPoint(wheelEvent.x, wheelEvent.y) );126 CCInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(IntPoint(wheelEvent.x, wheelEvent.y), CCInputHandlerClient::Wheel); 127 127 switch (scrollStatus) { 128 128 case CCInputHandlerClient::ScrollStarted: … … 144 144 #endif 145 145 const WebGestureEvent& gestureEvent = *static_cast<const WebGestureEvent*>(&event); 146 CCInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(IntPoint(gestureEvent.x, gestureEvent.y) );146 CCInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(IntPoint(gestureEvent.x, gestureEvent.y), CCInputHandlerClient::Gesture); 147 147 switch (scrollStatus) { 148 148 case CCInputHandlerClient::ScrollStarted: -
trunk/Source/WebKit/chromium/src/WebViewImpl.cpp
r108679 r108698 949 949 void WebViewImpl::numberOfWheelEventHandlersChanged(unsigned numberOfWheelHandlers) 950 950 { 951 m_haveWheelEventHandlers = numberOfWheelHandlers > 0;952 951 if (m_client) 953 952 m_client->numberOfWheelEventHandlersChanged(numberOfWheelHandlers); 954 #if USE(ACCELERATED_COMPOSITING)955 if (m_layerTreeHost)956 m_layerTreeHost->setHaveWheelEventHandlers(m_haveWheelEventHandlers);957 #endif958 953 } 959 954 … … 3179 3174 m_layerTreeHost = CCLayerTreeHost::create(this, ccSettings); 3180 3175 if (m_layerTreeHost) { 3181 m_layerTreeHost->setHaveWheelEventHandlers(m_haveWheelEventHandlers);3182 3176 m_layerTreeHost->setPageScaleFactorAndLimits(pageScaleFactor(), m_minimumPageScaleFactor, m_maximumPageScaleFactor); 3183 3177 updateLayerTreeViewport(); -
trunk/Source/WebKit/chromium/src/WebViewImpl.h
r108027 r108698 693 693 bool m_recreatingGraphicsContext; 694 694 #endif 695 bool m_haveWheelEventHandlers;696 695 static const WebInputEvent* m_currentInputEvent; 697 696 -
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp
r108679 r108698 166 166 root->setMaxScrollPosition(IntSize(100, 100)); 167 167 m_hostImpl->setRootLayer(root); 168 EXPECT_EQ(m_hostImpl->scrollBegin(IntPoint(0, 0) ), CCInputHandlerClient::ScrollStarted);168 EXPECT_EQ(m_hostImpl->scrollBegin(IntPoint(0, 0), CCInputHandlerClient::Wheel), CCInputHandlerClient::ScrollStarted); 169 169 m_hostImpl->scrollBy(IntSize(0, 10)); 170 170 m_hostImpl->scrollEnd(); 171 171 EXPECT_TRUE(m_didRequestRedraw); 172 172 EXPECT_TRUE(m_didRequestCommit); 173 } 174 175 TEST_F(CCLayerTreeHostImplTest, wheelEventHandlers) 176 { 177 RefPtr<CCLayerImpl> root = CCLayerImpl::create(0); 178 root->setScrollable(true); 179 root->setScrollPosition(IntPoint(0, 0)); 180 root->setMaxScrollPosition(IntSize(100, 100)); 181 m_hostImpl->setRootLayer(root); 182 root->setHaveWheelEventHandlers(true); 183 // With registered event handlers, wheel scrolls have to go to the main thread. 184 EXPECT_EQ(m_hostImpl->scrollBegin(IntPoint(0, 0), CCInputHandlerClient::Wheel), CCInputHandlerClient::ScrollFailed); 185 186 // But gesture scrolls can still be handled. 187 EXPECT_EQ(m_hostImpl->scrollBegin(IntPoint(0, 0), CCInputHandlerClient::Gesture), CCInputHandlerClient::ScrollStarted); 173 188 } 174 189 -
trunk/Source/WebKit/chromium/tests/LayerChromiumTest.cpp
r108025 r108698 516 516 EXECUTE_AND_VERIFY_SET_NEEDS_COMMIT_BEHAVIOR(1, testLayer->setSublayerTransform(TransformationMatrix(0, 0, 0, 0, 0, 0))); 517 517 EXECUTE_AND_VERIFY_SET_NEEDS_COMMIT_BEHAVIOR(1, testLayer->setScrollable(true)); 518 EXECUTE_AND_VERIFY_SET_NEEDS_COMMIT_BEHAVIOR(1, testLayer->setHaveWheelEventHandlers(true)); 518 519 EXECUTE_AND_VERIFY_SET_NEEDS_COMMIT_BEHAVIOR(1, testLayer->setScrollPosition(IntPoint(10, 10))); 519 520 EXECUTE_AND_VERIFY_SET_NEEDS_COMMIT_BEHAVIOR(1, testLayer->setTransform(TransformationMatrix(0, 0, 0, 0, 0, 0))); -
trunk/Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp
r107187 r108698 68 68 private: 69 69 virtual void setNeedsRedraw() OVERRIDE { } 70 virtual ScrollStatus scrollBegin(const WebCore::IntPoint& ) OVERRIDE70 virtual ScrollStatus scrollBegin(const WebCore::IntPoint&, WebCore::CCInputHandlerClient::ScrollInputType) OVERRIDE 71 71 { 72 72 return m_scrollStatus; … … 75 75 virtual void scrollEnd() OVERRIDE { } 76 76 77 virtual bool haveWheelEventHandlers() OVERRIDE { return false; }78 77 virtual void pinchGestureBegin() OVERRIDE 79 78 {
Note: See TracChangeset
for help on using the changeset viewer.