Changeset 211375 in webkit
- Timestamp:
- Jan 30, 2017, 10:18:46 AM (8 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r211374 r211375 1 2017-01-30 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, rollout r211235 Pointer lock events should be delivered directly to the target element. 4 5 The LayoutTest for this change is frequently failing. 6 7 * platform/mac/TestExpectations: 8 * pointer-lock/mouse-event-delivery-expected.txt: 9 * pointer-lock/mouse-event-delivery.html: 10 1 11 2017-01-30 Antoine Quint <graouts@apple.com> 2 12 -
trunk/LayoutTests/platform/mac/TestExpectations
r211374 r211375 281 281 pointer-lock/bug90391-move-then-window-open-crash.html 282 282 pointer-lock/locked-element-iframe-removed-from-dom.html 283 pointer-lock/mouse-event-delivery.html 283 284 pointer-lock/pointerlockchange-event-on-lock-lost.html 284 285 pointer-lock/pointerlockchange-pointerlockerror-events.html -
trunk/LayoutTests/pointer-lock/mouse-event-delivery-expected.txt
r211235 r211375 6 6 PASS document.onpointerlockchange event received. 7 7 PASS document.pointerLockElement is targetdiv1 8 With a lock in place send a wheel event.9 PASS event type: wheel, target: target1, received on: target110 PASS event type: wheel, target: target1, received on: body11 8 With a lock in place send a click. 12 9 PASS event type: mousedown, target: target1, received on: target1 … … 14 11 PASS document.onpointerlockchange event received. 15 12 PASS document.pointerLockElement is targetdiv2 16 With a lock in place send a wheel event.17 PASS event type: wheel, target: target2, received on: target218 PASS event type: wheel, target: target2, received on: body19 13 With a lock in place send a click. 20 14 PASS event type: mousedown, target: target2, received on: target2 -
trunk/LayoutTests/pointer-lock/mouse-event-delivery.html
r211235 r211375 43 43 }, 44 44 function () { 45 debug(" With a lock in place send a wheel event.")46 targetdiv1.onwheel = eventExpected;47 targetdiv2.onwheel = eventNotExpected;48 document.body.onwheel = eventExpected;49 if (window.eventSender) {50 window.eventSender.mouseMoveTo(20,20);51 window.eventSender.leapForward(1000);52 window.eventSender.mouseScrollBy(0,10);53 }54 doNextStep();55 },56 function () {57 45 debug(" With a lock in place send a click.") 58 46 targetdiv1.onmousedown = eventExpected; … … 70 58 expectedTargetToBeLockedString = "targetdiv2"; 71 59 // doNextStep() called by onpointerlockchange handler. 72 },73 function () {74 debug(" With a lock in place send a wheel event.")75 targetdiv1.onwheel = eventNotExpected;76 targetdiv2.onwheel = eventExpected;77 document.body.onwheel = eventExpected;78 if (window.eventSender) {79 window.eventSender.leapForward(1000);80 window.eventSender.mouseScrollBy(0,10);81 }82 doNextStep();83 60 }, 84 61 function () { -
trunk/Source/WebCore/ChangeLog
r211374 r211375 1 2017-01-30 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, rollout r211235 Pointer lock events should be delivered directly to the target element. 4 5 The LayoutTest for this change is frequently failing. 6 7 * page/EventHandler.cpp: 8 (WebCore::EventHandler::handleMousePressEvent): 9 (WebCore::EventHandler::handleMouseDoubleClickEvent): 10 (WebCore::EventHandler::handleMouseMoveEvent): 11 (WebCore::EventHandler::handleMouseReleaseEvent): 12 (WebCore::EventHandler::handleMouseForceEvent): 13 (WebCore::EventHandler::handleWheelEvent): 14 * page/PointerLockController.cpp: 15 (WebCore::PointerLockController::isLocked): Deleted. 16 (WebCore::PointerLockController::dispatchLockedWheelEvent): Deleted. 17 * page/PointerLockController.h: 18 1 19 2017-01-30 Antoine Quint <graouts@apple.com> 2 20 -
trunk/Source/WebCore/page/EventHandler.cpp
r211235 r211375 1623 1623 } 1624 1624 1625 #if ENABLE(POINTER_LOCK)1626 if (m_frame.page()->pointerLockController().isLocked()) {1627 m_frame.page()->pointerLockController().dispatchLockedMouseEvent(platformMouseEvent, eventNames().mousedownEvent);1628 return true;1629 }1630 #endif1631 1632 1625 if (m_frame.mainFrame().pageOverlayController().handleMouseEvent(platformMouseEvent)) 1633 1626 return true; … … 1770 1763 UserGestureIndicator gestureIndicator(ProcessingUserGesture, m_frame.document()); 1771 1764 1772 #if ENABLE(POINTER_LOCK)1773 if (m_frame.page()->pointerLockController().isLocked()) {1774 m_frame.page()->pointerLockController().dispatchLockedMouseEvent(platformMouseEvent, eventNames().mouseupEvent);1775 return true;1776 }1777 #endif1778 1779 1765 // We get this instead of a second mouse-up 1780 1766 m_mousePressed = false; … … 1871 1857 Ref<Frame> protectedFrame(m_frame); 1872 1858 RefPtr<FrameView> protector(m_frame.view()); 1873 1874 #if ENABLE(POINTER_LOCK) 1875 if (m_frame.page()->pointerLockController().isLocked()) { 1876 m_frame.page()->pointerLockController().dispatchLockedMouseEvent(platformMouseEvent, eventNames().mousemoveEvent); 1877 return true; 1878 } 1879 #endif 1880 1859 1881 1860 setLastKnownMousePosition(platformMouseEvent); 1882 1861 … … 2012 1991 m_frame.selection().setCaretBlinkingSuspended(false); 2013 1992 2014 #if ENABLE(POINTER_LOCK)2015 if (m_frame.page()->pointerLockController().isLocked()) {2016 m_frame.page()->pointerLockController().dispatchLockedMouseEvent(platformMouseEvent, eventNames().mouseupEvent);2017 return true;2018 }2019 #endif2020 2021 1993 if (m_frame.mainFrame().pageOverlayController().handleMouseEvent(platformMouseEvent)) 2022 1994 return true; … … 2096 2068 Ref<Frame> protectedFrame(m_frame); 2097 2069 RefPtr<FrameView> protector(m_frame.view()); 2098 2099 #if ENABLE(POINTER_LOCK)2100 if (m_frame.page()->pointerLockController().isLocked()) {2101 m_frame.page()->pointerLockController().dispatchLockedMouseEvent(event, eventNames().webkitmouseforcechangedEvent);2102 if (event.type() == PlatformEvent::MouseForceDown)2103 m_frame.page()->pointerLockController().dispatchLockedMouseEvent(event, eventNames().webkitmouseforcedownEvent);2104 if (event.type() == PlatformEvent::MouseForceUp)2105 m_frame.page()->pointerLockController().dispatchLockedMouseEvent(event, eventNames().webkitmouseforceupEvent);2106 return true;2107 }2108 #endif2109 2070 2110 2071 setLastKnownMousePosition(event); … … 2712 2673 if (!view) 2713 2674 return false; 2714 2715 #if ENABLE(POINTER_LOCK)2716 if (m_frame.page()->pointerLockController().isLocked()) {2717 m_frame.page()->pointerLockController().dispatchLockedWheelEvent(event);2718 return true;2719 }2720 #endif2721 2675 2722 2676 m_isHandlingWheelEvent = true; -
trunk/Source/WebCore/page/PointerLockController.cpp
r211249 r211375 124 124 } 125 125 126 bool PointerLockController::isLocked() const127 {128 return m_element && !m_lockPending;129 }130 131 126 bool PointerLockController::lockPending() const 132 127 { … … 181 176 } 182 177 183 void PointerLockController::dispatchLockedWheelEvent(const PlatformWheelEvent& event)184 {185 if (!m_element || !m_element->document().frame())186 return;187 188 m_element->dispatchWheelEvent(event);189 }190 191 178 void PointerLockController::clearElement() 192 179 { -
trunk/Source/WebCore/page/PointerLockController.h
r211249 r211375 36 36 class Page; 37 37 class PlatformMouseEvent; 38 class PlatformWheelEvent;39 38 class VoidCallback; 40 39 … … 50 49 void elementRemoved(Element&); 51 50 void documentDetached(Document&); 52 bool isLocked() const;53 51 WEBCORE_EXPORT bool lockPending() const; 54 52 WEBCORE_EXPORT Element* element() const; … … 58 56 WEBCORE_EXPORT void didLosePointerLock(); 59 57 void dispatchLockedMouseEvent(const PlatformMouseEvent&, const AtomicString& eventType); 60 void dispatchLockedWheelEvent(const PlatformWheelEvent&);61 58 62 59 private:
Note:
See TracChangeset
for help on using the changeset viewer.