Index: Source/web/WebViewImpl.cpp |
diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp |
index a95346118a8a53bb327cf1173dcb3b3895635900..def35ad627ea8183b567e1c9adb609fba1fc450e 100644 |
--- a/Source/web/WebViewImpl.cpp |
+++ b/Source/web/WebViewImpl.cpp |
@@ -2551,6 +2551,7 @@ void WebViewImpl::didNotAcquirePointerLock() |
void WebViewImpl::didLosePointerLock() |
{ |
+ m_pointerLockGestureToken.clear(); |
if (page()) |
page()->pointerLockController().didLosePointerLock(); |
} |
@@ -4232,13 +4233,17 @@ bool WebViewImpl::isPointerLocked() |
void WebViewImpl::pointerLockMouseEvent(const WebInputEvent& event) |
{ |
+ OwnPtr<UserGestureIndicator> gestureIndicator; |
AtomicString eventType; |
switch (event.type) { |
case WebInputEvent::MouseDown: |
eventType = EventTypeNames::mousedown; |
+ gestureIndicator = adoptPtr(new UserGestureIndicator(DefinitelyProcessingNewUserGesture)); |
+ m_pointerLockGestureToken = gestureIndicator->currentToken(); |
break; |
case WebInputEvent::MouseUp: |
eventType = EventTypeNames::mouseup; |
+ gestureIndicator = adoptPtr(new UserGestureIndicator(m_pointerLockGestureToken.release())); |
break; |
case WebInputEvent::MouseMove: |
eventType = EventTypeNames::mousemove; |