Changeset 211375 in webkit


Ignore:
Timestamp:
Jan 30, 2017 10:18:46 AM (7 years ago)
Author:
Ryan Haddad
Message:

Unreviewed, rollout r211235 Pointer lock events should be delivered directly to the target element.

The LayoutTest for this change is frequently failing.

Source/WebCore:

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handleMouseForceEvent):
(WebCore::EventHandler::handleWheelEvent):

  • page/PointerLockController.cpp:

(WebCore::PointerLockController::isLocked): Deleted.
(WebCore::PointerLockController::dispatchLockedWheelEvent): Deleted.

  • page/PointerLockController.h:

LayoutTests:

  • platform/mac/TestExpectations:
  • pointer-lock/mouse-event-delivery-expected.txt:
  • pointer-lock/mouse-event-delivery.html:
Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r211374 r211375  
     12017-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
    1112017-01-30  Antoine Quint  <graouts@apple.com>
    212
  • trunk/LayoutTests/platform/mac/TestExpectations

    r211374 r211375  
    281281pointer-lock/bug90391-move-then-window-open-crash.html
    282282pointer-lock/locked-element-iframe-removed-from-dom.html
     283pointer-lock/mouse-event-delivery.html
    283284pointer-lock/pointerlockchange-event-on-lock-lost.html
    284285pointer-lock/pointerlockchange-pointerlockerror-events.html
  • trunk/LayoutTests/pointer-lock/mouse-event-delivery-expected.txt

    r211235 r211375  
    66PASS document.onpointerlockchange event received.
    77PASS document.pointerLockElement is targetdiv1
    8      With a lock in place send a wheel event.
    9 PASS event type: wheel, target: target1, received on: target1
    10 PASS event type: wheel, target: target1, received on: body
    118     With a lock in place send a click.
    129PASS event type: mousedown, target: target1, received on: target1
     
    1411PASS document.onpointerlockchange event received.
    1512PASS document.pointerLockElement is targetdiv2
    16      With a lock in place send a wheel event.
    17 PASS event type: wheel, target: target2, received on: target2
    18 PASS event type: wheel, target: target2, received on: body
    1913     With a lock in place send a click.
    2014PASS event type: mousedown, target: target2, received on: target2
  • trunk/LayoutTests/pointer-lock/mouse-event-delivery.html

    r211235 r211375  
    4343        },
    4444        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 () {
    5745            debug("     With a lock in place send a click.")
    5846            targetdiv1.onmousedown = eventExpected;
     
    7058            expectedTargetToBeLockedString = "targetdiv2";
    7159            // 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();
    8360        },
    8461        function () {
  • trunk/Source/WebCore/ChangeLog

    r211374 r211375  
     12017-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
    1192017-01-30  Antoine Quint  <graouts@apple.com>
    220
  • trunk/Source/WebCore/page/EventHandler.cpp

    r211235 r211375  
    16231623    }
    16241624
    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 #endif
    1631 
    16321625    if (m_frame.mainFrame().pageOverlayController().handleMouseEvent(platformMouseEvent))
    16331626        return true;
     
    17701763    UserGestureIndicator gestureIndicator(ProcessingUserGesture, m_frame.document());
    17711764
    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 #endif
    1778 
    17791765    // We get this instead of a second mouse-up
    17801766    m_mousePressed = false;
     
    18711857    Ref<Frame> protectedFrame(m_frame);
    18721858    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   
    18811860    setLastKnownMousePosition(platformMouseEvent);
    18821861
     
    20121991    m_frame.selection().setCaretBlinkingSuspended(false);
    20131992
    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 #endif
    2020 
    20211993    if (m_frame.mainFrame().pageOverlayController().handleMouseEvent(platformMouseEvent))
    20221994        return true;
     
    20962068    Ref<Frame> protectedFrame(m_frame);
    20972069    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 #endif
    21092070
    21102071    setLastKnownMousePosition(event);
     
    27122673    if (!view)
    27132674        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 #endif
    27212675
    27222676    m_isHandlingWheelEvent = true;
  • trunk/Source/WebCore/page/PointerLockController.cpp

    r211249 r211375  
    124124}
    125125
    126 bool PointerLockController::isLocked() const
    127 {
    128     return m_element && !m_lockPending;
    129 }
    130 
    131126bool PointerLockController::lockPending() const
    132127{
     
    181176}
    182177
    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 
    191178void PointerLockController::clearElement()
    192179{
  • trunk/Source/WebCore/page/PointerLockController.h

    r211249 r211375  
    3636class Page;
    3737class PlatformMouseEvent;
    38 class PlatformWheelEvent;
    3938class VoidCallback;
    4039
     
    5049    void elementRemoved(Element&);
    5150    void documentDetached(Document&);
    52     bool isLocked() const;
    5351    WEBCORE_EXPORT bool lockPending() const;
    5452    WEBCORE_EXPORT Element* element() const;
     
    5856    WEBCORE_EXPORT void didLosePointerLock();
    5957    void dispatchLockedMouseEvent(const PlatformMouseEvent&, const AtomicString& eventType);
    60     void dispatchLockedWheelEvent(const PlatformWheelEvent&);
    6158
    6259private:
Note: See TracChangeset for help on using the changeset viewer.