Changeset 145481 in webkit
- Timestamp:
- Mar 11, 2013 10:45:19 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r145479 r145481 1 2013-03-11 Jochen Eisinger <jochen@chromium.org> 2 3 Don't create multiple user gesture indicators when forwarding events to sub frames 4 https://bugs.webkit.org/show_bug.cgi?id=111923 5 6 Reviewed by Adam Barth. 7 8 Ports that implement consumable user gestures depend on a single user 9 gesture indicator being created in response to a single user gesture. 10 11 * platform/chromium/fast/events/popup-allowed-from-gesture-only-once-iframes-expected.txt: Added. 12 * platform/chromium/fast/events/popup-allowed-from-gesture-only-once-iframes.html: Added. 13 1 14 2013-03-11 Pavel Feldman <pfeldman@chromium.org> 2 15 -
trunk/Source/WebCore/ChangeLog
r145480 r145481 1 2013-03-11 Jochen Eisinger <jochen@chromium.org> 2 3 Don't create multiple user gesture indicators when forwarding events to sub frames 4 https://bugs.webkit.org/show_bug.cgi?id=111923 5 6 Reviewed by Adam Barth. 7 8 Ports that implement consumable user gestures depend on a single user 9 gesture indicator being created in response to a single user gesture. 10 11 Test: platform/chromium/fast/events/popup-allowed-from-gesture-only-once-iframes.html 12 13 * dom/UserGestureIndicator.cpp: 14 (WebCore::isDefinite): 15 (WebCore::UserGestureIndicator::UserGestureIndicator): 16 (WebCore::UserGestureIndicator::processingUserGesture): 17 * dom/UserGestureIndicator.h: 18 * page/EventHandler.cpp: 19 (WebCore::EventHandler::handleMousePressEvent): 20 (WebCore::EventHandler::handleMouseDoubleClickEvent): 21 (WebCore::EventHandler::handleMouseReleaseEvent): 22 (WebCore::EventHandler::keyEvent): 23 (WebCore::EventHandler::handleTouchEvent): 24 1 25 2013-03-11 Simon Fraser <simon.fraser@apple.com> 2 26 -
trunk/Source/WebCore/dom/UserGestureIndicator.cpp
r145453 r145481 60 60 static bool isDefinite(ProcessingUserGestureState state) 61 61 { 62 return state == DefinitelyProcessingNewUserGesture || state == Definitely NotProcessingUserGesture;62 return state == DefinitelyProcessingNewUserGesture || state == DefinitelyProcessingUserGesture || state == DefinitelyNotProcessingUserGesture; 63 63 } 64 64 … … 81 81 if (state == DefinitelyProcessingNewUserGesture) 82 82 static_cast<GestureToken*>(m_token.get())->addGesture(); 83 else if (state == DefinitelyProcessingUserGesture && s_topmostIndicator == this) 84 static_cast<GestureToken*>(m_token.get())->addGesture(); 83 85 ASSERT(isDefinite(s_state)); 84 86 } … … 96 98 static_cast<GestureToken*>(token.get())->consumeGesture(); 97 99 } 98 s_state = DefinitelyProcessing NewUserGesture;100 s_state = DefinitelyProcessingUserGesture; 99 101 } 100 102 … … 112 114 bool UserGestureIndicator::processingUserGesture() 113 115 { 114 return s_topmostIndicator && static_cast<GestureToken*>(s_topmostIndicator->currentToken())->hasGestures() && s_state == DefinitelyProcessingNewUserGesture;116 return s_topmostIndicator && static_cast<GestureToken*>(s_topmostIndicator->currentToken())->hasGestures() && (s_state == DefinitelyProcessingNewUserGesture || s_state == DefinitelyProcessingUserGesture); 115 117 } 116 118 -
trunk/Source/WebCore/dom/UserGestureIndicator.h
r145453 r145481 35 35 enum ProcessingUserGestureState { 36 36 DefinitelyProcessingNewUserGesture, 37 DefinitelyProcessingUserGesture, 37 38 PossiblyProcessingUserGesture, 38 39 DefinitelyNotProcessingUserGesture -
trunk/Source/WebCore/page/EventHandler.cpp
r145453 r145481 1455 1455 #endif 1456 1456 1457 UserGestureIndicator gestureIndicator(DefinitelyProcessing NewUserGesture);1457 UserGestureIndicator gestureIndicator(DefinitelyProcessingUserGesture); 1458 1458 m_lastMouseDownUserGestureToken = gestureIndicator.currentToken(); 1459 1459 … … 1589 1589 m_frame->selection()->setCaretBlinkingSuspended(false); 1590 1590 1591 UserGestureIndicator gestureIndicator(DefinitelyProcessing NewUserGesture);1591 UserGestureIndicator gestureIndicator(DefinitelyProcessingUserGesture); 1592 1592 1593 1593 // We get this instead of a second mouse-up … … 1832 1832 gestureIndicator = adoptPtr(new UserGestureIndicator(m_lastMouseDownUserGestureToken.release())); 1833 1833 else 1834 gestureIndicator = adoptPtr(new UserGestureIndicator(DefinitelyProcessing NewUserGesture));1834 gestureIndicator = adoptPtr(new UserGestureIndicator(DefinitelyProcessingUserGesture)); 1835 1835 1836 1836 #if ENABLE(PAN_SCROLLING) … … 3157 3157 return false; 3158 3158 3159 UserGestureIndicator gestureIndicator(DefinitelyProcessing NewUserGesture);3159 UserGestureIndicator gestureIndicator(DefinitelyProcessingUserGesture); 3160 3160 UserTypingGestureIndicator typingGestureIndicator(m_frame); 3161 3161 … … 3854 3854 const Vector<PlatformTouchPoint>& points = event.touchPoints(); 3855 3855 3856 UserGestureIndicator gestureIndicator(DefinitelyProcessing NewUserGesture);3856 UserGestureIndicator gestureIndicator(DefinitelyProcessingUserGesture); 3857 3857 3858 3858 unsigned i;
Note: See TracChangeset
for help on using the changeset viewer.