Changeset 101179 in webkit
- Timestamp:
- Nov 25, 2011, 11:57:28 AM (15 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 11 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/qt/QtGestureRecognizer.cpp (modified) (2 diffs)
-
UIProcess/qt/QtGestureRecognizer.h (modified) (3 diffs)
-
UIProcess/qt/QtPanGestureRecognizer.cpp (modified) (4 diffs)
-
UIProcess/qt/QtPanGestureRecognizer.h (modified) (1 diff)
-
UIProcess/qt/QtPinchGestureRecognizer.cpp (modified) (8 diffs)
-
UIProcess/qt/QtPinchGestureRecognizer.h (modified) (1 diff)
-
UIProcess/qt/QtTapGestureRecognizer.cpp (modified) (2 diffs)
-
UIProcess/qt/QtTapGestureRecognizer.h (modified) (2 diffs)
-
UIProcess/qt/QtWebPageEventHandler.cpp (modified) (2 diffs)
-
UIProcess/qt/QtWebPageEventHandler.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r101178 r101179 1 2011-11-25 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 2 3 [Qt][WK2] Refactor GestureRecognizers to use QtWebPageEventHandler 4 https://bugs.webkit.org/show_bug.cgi?id=73096 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 Move all the interaction engine usage to QtWebPageEventHandler, 9 making all GestureRecognizers (Tap, Pinch and Pan) use it directly. 10 11 * UIProcess/qt/QtGestureRecognizer.cpp: 12 (WebKit::QtGestureRecognizer::QtGestureRecognizer): 13 * UIProcess/qt/QtGestureRecognizer.h: 14 * UIProcess/qt/QtPanGestureRecognizer.cpp: 15 (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer): 16 (WebKit::QtPanGestureRecognizer::recognize): 17 * UIProcess/qt/QtPanGestureRecognizer.h: 18 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 19 (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer): 20 (WebKit::QtPinchGestureRecognizer::recognize): 21 * UIProcess/qt/QtPinchGestureRecognizer.h: 22 * UIProcess/qt/QtTapGestureRecognizer.cpp: 23 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer): 24 (WebKit::QtTapGestureRecognizer::recognize): 25 (WebKit::QtTapGestureRecognizer::tapTimeout): 26 * UIProcess/qt/QtTapGestureRecognizer.h: 27 * UIProcess/qt/QtWebPageEventHandler.cpp: 28 (QtWebPageEventHandler::QtWebPageEventHandler): 29 (QtWebPageEventHandler::setViewportInteractionEngine): 30 * UIProcess/qt/QtWebPageEventHandler.h: 31 (QtWebPageEventHandler::interactionEngine): 32 1 33 2011-11-25 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 2 34 -
trunk/Source/WebKit2/UIProcess/qt/QtGestureRecognizer.cpp
r99845 r101179 27 27 #include "QtGestureRecognizer.h" 28 28 29 #include "QtWebPageEventHandler.h" 30 29 31 namespace WebKit { 30 32 31 QtGestureRecognizer::QtGestureRecognizer(Qt ViewportInteractionEngine* viewportInteractionEngine)32 : m_ viewportInteractionEngine(viewportInteractionEngine)33 QtGestureRecognizer::QtGestureRecognizer(QtWebPageEventHandler* eventHandler) 34 : m_eventHandler(eventHandler) 33 35 , m_state(NoGesture) 34 36 { … … 40 42 } 41 43 42 void QtGestureRecognizer::setViewportInteractionEngine(QtViewportInteractionEngine* engine)44 QtViewportInteractionEngine* QtGestureRecognizer::interactionEngine() 43 45 { 44 m_viewportInteractionEngine = engine;46 return m_eventHandler->interactionEngine(); 45 47 } 46 48 -
trunk/Source/WebKit2/UIProcess/qt/QtGestureRecognizer.h
r99845 r101179 27 27 #define QtGestureRecognizer_h 28 28 29 class QtWebPageEventHandler; 30 29 31 namespace WebKit { 30 32 … … 36 38 37 39 protected: 38 QtGestureRecognizer(QtViewportInteractionEngine*); 39 void setViewportInteractionEngine(QtViewportInteractionEngine*); 40 QtGestureRecognizer(QtWebPageEventHandler*); 40 41 void reset(); 41 42 42 Qt ViewportInteractionEngine* m_viewportInteractionEngine;43 QtWebPageEventHandler* m_eventHandler; 43 44 enum State { 44 45 NoGesture, … … 46 47 GestureRecognized 47 48 } m_state; 49 50 QtViewportInteractionEngine* interactionEngine(); 48 51 }; 49 52 -
trunk/Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.cpp
r99845 r101179 27 27 #include "QtPanGestureRecognizer.h" 28 28 29 #include "Qt ViewportInteractionEngine.h"29 #include "QtWebPageEventHandler.h" 30 30 #include <QTouchEvent> 31 31 32 32 namespace WebKit { 33 33 34 QtPanGestureRecognizer::QtPanGestureRecognizer(Qt ViewportInteractionEngine* interactionEngine)35 : QtGestureRecognizer( interactionEngine)34 QtPanGestureRecognizer::QtPanGestureRecognizer(QtWebPageEventHandler* eventHandler) 35 : QtGestureRecognizer(eventHandler) 36 36 { 37 reset();38 }39 40 void QtPanGestureRecognizer::setViewportInteractionEngine(QtViewportInteractionEngine* engine)41 {42 QtGestureRecognizer::setViewportInteractionEngine(engine);43 37 reset(); 44 38 } … … 46 40 bool QtPanGestureRecognizer::recognize(const QTouchEvent* event, qint64 eventTimestampMillis) 47 41 { 48 if ( !m_viewportInteractionEngine)42 if (interactionEngine()) 49 43 return false; 50 44 … … 57 51 if (event->touchPoints().size() > 1) { 58 52 if (m_state == GestureRecognized) 59 m_viewportInteractionEngine->panGestureCancelled();53 interactionEngine()->panGestureCancelled(); 60 54 reset(); 61 55 return false; … … 80 74 81 75 m_state = GestureRecognized; 82 m_viewportInteractionEngine->panGestureStarted(touchPoint.pos(), eventTimestampMillis);76 interactionEngine()->panGestureStarted(touchPoint.pos(), eventTimestampMillis); 83 77 } 84 78 85 79 ASSERT(m_state == GestureRecognized); 86 m_viewportInteractionEngine->panGestureRequestUpdate(touchPoint.pos(), eventTimestampMillis);80 interactionEngine()->panGestureRequestUpdate(touchPoint.pos(), eventTimestampMillis); 87 81 return true; 88 82 } 89 83 case QEvent::TouchEnd: 90 84 if (m_state == GestureRecognized) { 91 m_viewportInteractionEngine->panGestureEnded(touchPoint.pos(), eventTimestampMillis);85 interactionEngine()->panGestureEnded(touchPoint.pos(), eventTimestampMillis); 92 86 reset(); 93 87 return true; -
trunk/Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.h
r99845 r101179 42 42 class QtPanGestureRecognizer : public QtGestureRecognizer { 43 43 public: 44 QtPanGestureRecognizer(QtViewportInteractionEngine*); 45 void setViewportInteractionEngine(QtViewportInteractionEngine*); 44 QtPanGestureRecognizer(QtWebPageEventHandler*); 46 45 bool recognize(const QTouchEvent*, qint64 eventTimestampMillis); 47 46 void reset(); -
trunk/Source/WebKit2/UIProcess/qt/QtPinchGestureRecognizer.cpp
r99845 r101179 27 27 #include "QtPinchGestureRecognizer.h" 28 28 29 #include "Qt ViewportInteractionEngine.h"29 #include "QtWebPageEventHandler.h" 30 30 #include <QtCore/QLineF> 31 31 … … 50 50 } 51 51 52 QtPinchGestureRecognizer::QtPinchGestureRecognizer(Qt ViewportInteractionEngine* interactionEngine)53 : QtGestureRecognizer( interactionEngine)52 QtPinchGestureRecognizer::QtPinchGestureRecognizer(QtWebPageEventHandler* eventHandler) 53 : QtGestureRecognizer(eventHandler) 54 54 { 55 55 reset(); … … 58 58 bool QtPinchGestureRecognizer::recognize(const QTouchEvent* event) 59 59 { 60 if (! m_viewportInteractionEngine)60 if (!interactionEngine()) 61 61 return false; 62 62 … … 64 64 if (touchPoints.size() < 2) { 65 65 if (m_state == GestureRecognized) 66 m_viewportInteractionEngine->pinchGestureEnded();66 interactionEngine()->pinchGestureEnded(); 67 67 reset(); 68 68 return false; … … 100 100 return false; 101 101 m_state = GestureRecognized; 102 m_viewportInteractionEngine->pinchGestureStarted(computePinchCenter(point1, point2));102 interactionEngine()->pinchGestureStarted(computePinchCenter(point1, point2)); 103 103 104 104 // We reset the initial position to the previous position in order to avoid the jump caused … … 114 114 const qreal totalScaleFactor = currentSpanDistance / initialSpanDistance; 115 115 const QPointF touchCenterInPageViewCoordinates = computePinchCenter(point1, point2); 116 m_viewportInteractionEngine->pinchGestureRequestUpdate(touchCenterInPageViewCoordinates, totalScaleFactor);116 interactionEngine()->pinchGestureRequestUpdate(touchCenterInPageViewCoordinates, totalScaleFactor); 117 117 return true; 118 118 break; … … 121 121 case QEvent::TouchEnd: 122 122 if (m_state == GestureRecognized) { 123 m_viewportInteractionEngine->pinchGestureEnded();123 interactionEngine()->pinchGestureEnded(); 124 124 reset(); 125 125 return true; … … 132 132 133 133 return false; 134 }135 136 void QtPinchGestureRecognizer::setViewportInteractionEngine(QtViewportInteractionEngine* engine)137 {138 QtGestureRecognizer::setViewportInteractionEngine(engine);139 reset();140 134 } 141 135 -
trunk/Source/WebKit2/UIProcess/qt/QtPinchGestureRecognizer.h
r99845 r101179 51 51 }; 52 52 53 QtPinchGestureRecognizer(QtViewportInteractionEngine*); 54 void setViewportInteractionEngine(QtViewportInteractionEngine*); 53 QtPinchGestureRecognizer(QtWebPageEventHandler*); 55 54 bool recognize(const QTouchEvent*); 56 55 void reset(); -
trunk/Source/WebKit2/UIProcess/qt/QtTapGestureRecognizer.cpp
r101164 r101179 27 27 28 28 #include "QtWebPageEventHandler.h" 29 #include "QtViewportInteractionEngine.h"30 29 #include <QLineF> 31 30 #include <QTouchEvent> … … 33 32 namespace WebKit { 34 33 35 QtTapGestureRecognizer::QtTapGestureRecognizer(QtViewportInteractionEngine* interactionEngine, QtWebPageEventHandler* eventHandler) 36 : QtGestureRecognizer(interactionEngine) 37 , m_eventHandler(eventHandler) 34 QtTapGestureRecognizer::QtTapGestureRecognizer(QtWebPageEventHandler* eventHandler) 35 : QtGestureRecognizer(eventHandler) 38 36 , m_tapState(NoTap) 39 37 { 40 reset();41 }42 43 void QtTapGestureRecognizer::setViewportInteractionEngine(QtViewportInteractionEngine* engine)44 {45 QtGestureRecognizer::setViewportInteractionEngine(engine);46 38 reset(); 47 39 } -
trunk/Source/WebKit2/UIProcess/qt/QtTapGestureRecognizer.h
r101164 r101179 50 50 class QtTapGestureRecognizer : public QObject, private QtGestureRecognizer { 51 51 public: 52 QtTapGestureRecognizer(QtViewportInteractionEngine*, QtWebPageEventHandler*); 53 void setViewportInteractionEngine(QtViewportInteractionEngine*); 52 QtTapGestureRecognizer(QtWebPageEventHandler*); 54 53 bool recognize(const QTouchEvent*, qint64 eventTimestampMillis); 55 54 void reset(); … … 61 60 62 61 private: 63 QtWebPageEventHandler* m_eventHandler;64 62 QBasicTimer m_doubleTapTimer; 65 63 QBasicTimer m_tapAndHoldTimer; -
trunk/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp
r101164 r101179 81 81 : m_webPageProxy(toImpl(pageRef)) 82 82 , m_interactionEngine(viewportInteractionEngine) 83 , m_panGestureRecognizer( viewportInteractionEngine)84 , m_pinchGestureRecognizer( viewportInteractionEngine)85 , m_tapGestureRecognizer( viewportInteractionEngine,this)83 , m_panGestureRecognizer(this) 84 , m_pinchGestureRecognizer(this) 85 , m_tapGestureRecognizer(this) 86 86 { 87 87 } … … 304 304 { 305 305 m_interactionEngine = engine; 306 m_panGestureRecognizer.setViewportInteractionEngine(engine);307 m_pinchGestureRecognizer.setViewportInteractionEngine(engine);308 m_tapGestureRecognizer.setViewportInteractionEngine(engine);309 306 } 310 307 -
trunk/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.h
r101164 r101179 25 25 #include "QtPinchGestureRecognizer.h" 26 26 #include "QtTapGestureRecognizer.h" 27 #include "QtViewportInteractionEngine.h" 27 28 #include "WebPageProxy.h" 28 29 #include <QBasicTimer> … … 54 55 void doneWithTouchEvent(const NativeWebTouchEvent&, bool wasEventHandled); 55 56 void resetGestureRecognizers(); 57 58 QtViewportInteractionEngine* interactionEngine() { return m_interactionEngine; } 56 59 57 60 protected:
Note:
See TracChangeset
for help on using the changeset viewer.