| Index: Source/web/WebUserGestureIndicator.cpp
|
| diff --git a/Source/web/WebUserGestureIndicator.cpp b/Source/web/WebUserGestureIndicator.cpp
|
| index deea3a34612c1029ae2183f36827ad513de85005..6d7ef341fd37de69d176db334b77aefb99c9dd34 100644
|
| --- a/Source/web/WebUserGestureIndicator.cpp
|
| +++ b/Source/web/WebUserGestureIndicator.cpp
|
| @@ -38,6 +38,35 @@ using namespace WebCore;
|
|
|
| namespace blink {
|
|
|
| +class WebUserGestureHandlerHolder : public UserGestureHandler {
|
| +public:
|
| + WebUserGestureHandlerHolder()
|
| + : m_handler(0)
|
| + {
|
| + UserGestureIndicator::setHandler(this);
|
| + }
|
| +
|
| + virtual void onGesture()
|
| + {
|
| + if (m_handler)
|
| + m_handler->onGesture();
|
| + }
|
| +
|
| + void setHandler(WebUserGestureHandler* handler)
|
| + {
|
| + m_handler = handler;
|
| + }
|
| +
|
| +private:
|
| + WebUserGestureHandler* m_handler;
|
| +};
|
| +
|
| +WebUserGestureHandlerHolder* gestureHandler()
|
| +{
|
| + DEFINE_STATIC_LOCAL(WebUserGestureHandlerHolder, handler, ());
|
| + return &handler;
|
| +}
|
| +
|
| bool WebUserGestureIndicator::isProcessingUserGesture()
|
| {
|
| return UserGestureIndicator::processingUserGesture();
|
| @@ -53,4 +82,9 @@ WebUserGestureToken WebUserGestureIndicator::currentUserGestureToken()
|
| return WebUserGestureToken(UserGestureIndicator::currentToken());
|
| }
|
|
|
| +void WebUserGestureIndicator::setHandler(WebUserGestureHandler* handler)
|
| +{
|
| + gestureHandler()->setHandler(handler);
|
| +}
|
| +
|
| } // namespace blink
|
|
|