Diff
Modified: trunk/LayoutTests/ChangeLog (211374 => 211375)
--- trunk/LayoutTests/ChangeLog 2017-01-30 18:16:57 UTC (rev 211374)
+++ trunk/LayoutTests/ChangeLog 2017-01-30 18:18:46 UTC (rev 211375)
@@ -1,3 +1,13 @@
+2017-01-30 Ryan Haddad <ryanhad...@apple.com>
+
+ Unreviewed, rollout r211235 Pointer lock events should be delivered directly to the target element.
+
+ The LayoutTest for this change is frequently failing.
+
+ * platform/mac/TestExpectations:
+ * pointer-lock/mouse-event-delivery-expected.txt:
+ * pointer-lock/mouse-event-delivery.html:
+
2017-01-30 Antoine Quint <grao...@apple.com>
LayoutTest media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-leave-after-play.html is flaky
Modified: trunk/LayoutTests/platform/mac/TestExpectations (211374 => 211375)
--- trunk/LayoutTests/platform/mac/TestExpectations 2017-01-30 18:16:57 UTC (rev 211374)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2017-01-30 18:18:46 UTC (rev 211375)
@@ -280,6 +280,7 @@
# Pointer Lock can only check some of the API at the moment.
pointer-lock/bug90391-move-then-window-open-crash.html
pointer-lock/locked-element-iframe-removed-from-dom.html
+pointer-lock/mouse-event-delivery.html
pointer-lock/pointerlockchange-event-on-lock-lost.html
pointer-lock/pointerlockchange-pointerlockerror-events.html
pointer-lock/pointerlockelement-null-when-pending.html
Modified: trunk/LayoutTests/pointer-lock/mouse-event-delivery-expected.txt (211374 => 211375)
--- trunk/LayoutTests/pointer-lock/mouse-event-delivery-expected.txt 2017-01-30 18:16:57 UTC (rev 211374)
+++ trunk/LayoutTests/pointer-lock/mouse-event-delivery-expected.txt 2017-01-30 18:18:46 UTC (rev 211375)
@@ -5,17 +5,11 @@
PASS document.onpointerlockchange event received.
PASS document.pointerLockElement is targetdiv1
- With a lock in place send a wheel event.
-PASS event type: wheel, target: target1, received on: target1
-PASS event type: wheel, target: target1, received on: body
With a lock in place send a click.
PASS event type: mousedown, target: target1, received on: target1
PASS event type: mousedown, target: target1, received on: body
PASS document.onpointerlockchange event received.
PASS document.pointerLockElement is targetdiv2
- With a lock in place send a wheel event.
-PASS event type: wheel, target: target2, received on: target2
-PASS event type: wheel, target: target2, received on: body
With a lock in place send a click.
PASS event type: mousedown, target: target2, received on: target2
PASS event type: mousedown, target: target2, received on: body
Modified: trunk/LayoutTests/pointer-lock/mouse-event-delivery.html (211374 => 211375)
--- trunk/LayoutTests/pointer-lock/mouse-event-delivery.html 2017-01-30 18:16:57 UTC (rev 211374)
+++ trunk/LayoutTests/pointer-lock/mouse-event-delivery.html 2017-01-30 18:18:46 UTC (rev 211375)
@@ -42,18 +42,6 @@
// doNextStep() called by onpointerlockchange handler.
},
function () {
- debug(" With a lock in place send a wheel event.")
- targetdiv1._onwheel_ = eventExpected;
- targetdiv2._onwheel_ = eventNotExpected;
- document.body._onwheel_ = eventExpected;
- if (window.eventSender) {
- window.eventSender.mouseMoveTo(20,20);
- window.eventSender.leapForward(1000);
- window.eventSender.mouseScrollBy(0,10);
- }
- doNextStep();
- },
- function () {
debug(" With a lock in place send a click.")
targetdiv1._onmousedown_ = eventExpected;
targetdiv2._onmousedown_ = eventNotExpected;
@@ -71,17 +59,6 @@
// doNextStep() called by onpointerlockchange handler.
},
function () {
- debug(" With a lock in place send a wheel event.")
- targetdiv1._onwheel_ = eventNotExpected;
- targetdiv2._onwheel_ = eventExpected;
- document.body._onwheel_ = eventExpected;
- if (window.eventSender) {
- window.eventSender.leapForward(1000);
- window.eventSender.mouseScrollBy(0,10);
- }
- doNextStep();
- },
- function () {
debug(" With a lock in place send a click.")
targetdiv1._onmousedown_ = eventNotExpected;
targetdiv2._onmousedown_ = eventExpected;
Modified: trunk/Source/WebCore/ChangeLog (211374 => 211375)
--- trunk/Source/WebCore/ChangeLog 2017-01-30 18:16:57 UTC (rev 211374)
+++ trunk/Source/WebCore/ChangeLog 2017-01-30 18:18:46 UTC (rev 211375)
@@ -1,3 +1,21 @@
+2017-01-30 Ryan Haddad <ryanhad...@apple.com>
+
+ Unreviewed, rollout r211235 Pointer lock events should be delivered directly to the target element.
+
+ The LayoutTest for this change is frequently failing.
+
+ * 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:
+
2017-01-30 Antoine Quint <grao...@apple.com>
LayoutTest media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-leave-after-play.html is flaky
Modified: trunk/Source/WebCore/page/EventHandler.cpp (211374 => 211375)
--- trunk/Source/WebCore/page/EventHandler.cpp 2017-01-30 18:16:57 UTC (rev 211374)
+++ trunk/Source/WebCore/page/EventHandler.cpp 2017-01-30 18:18:46 UTC (rev 211375)
@@ -1622,13 +1622,6 @@
return true;
}
-#if ENABLE(POINTER_LOCK)
- if (m_frame.page()->pointerLockController().isLocked()) {
- m_frame.page()->pointerLockController().dispatchLockedMouseEvent(platformMouseEvent, eventNames().mousedownEvent);
- return true;
- }
-#endif
-
if (m_frame.mainFrame().pageOverlayController().handleMouseEvent(platformMouseEvent))
return true;
@@ -1769,13 +1762,6 @@
UserGestureIndicator gestureIndicator(ProcessingUserGesture, m_frame.document());
-#if ENABLE(POINTER_LOCK)
- if (m_frame.page()->pointerLockController().isLocked()) {
- m_frame.page()->pointerLockController().dispatchLockedMouseEvent(platformMouseEvent, eventNames().mouseupEvent);
- return true;
- }
-#endif
-
// We get this instead of a second mouse-up
m_mousePressed = false;
setLastKnownMousePosition(platformMouseEvent);
@@ -1870,14 +1856,7 @@
Ref<Frame> protectedFrame(m_frame);
RefPtr<FrameView> protector(m_frame.view());
-
-#if ENABLE(POINTER_LOCK)
- if (m_frame.page()->pointerLockController().isLocked()) {
- m_frame.page()->pointerLockController().dispatchLockedMouseEvent(platformMouseEvent, eventNames().mousemoveEvent);
- return true;
- }
-#endif
-
+
setLastKnownMousePosition(platformMouseEvent);
if (m_hoverTimer.isActive())
@@ -2011,13 +1990,6 @@
m_frame.selection().setCaretBlinkingSuspended(false);
-#if ENABLE(POINTER_LOCK)
- if (m_frame.page()->pointerLockController().isLocked()) {
- m_frame.page()->pointerLockController().dispatchLockedMouseEvent(platformMouseEvent, eventNames().mouseupEvent);
- return true;
- }
-#endif
-
if (m_frame.mainFrame().pageOverlayController().handleMouseEvent(platformMouseEvent))
return true;
@@ -2096,17 +2068,6 @@
Ref<Frame> protectedFrame(m_frame);
RefPtr<FrameView> protector(m_frame.view());
-#if ENABLE(POINTER_LOCK)
- if (m_frame.page()->pointerLockController().isLocked()) {
- m_frame.page()->pointerLockController().dispatchLockedMouseEvent(event, eventNames().webkitmouseforcechangedEvent);
- if (event.type() == PlatformEvent::MouseForceDown)
- m_frame.page()->pointerLockController().dispatchLockedMouseEvent(event, eventNames().webkitmouseforcedownEvent);
- if (event.type() == PlatformEvent::MouseForceUp)
- m_frame.page()->pointerLockController().dispatchLockedMouseEvent(event, eventNames().webkitmouseforceupEvent);
- return true;
- }
-#endif
-
setLastKnownMousePosition(event);
HitTestRequest::HitTestRequestType hitType = HitTestRequest::DisallowUserAgentShadowContent | HitTestRequest::Active;
@@ -2712,13 +2673,6 @@
if (!view)
return false;
-#if ENABLE(POINTER_LOCK)
- if (m_frame.page()->pointerLockController().isLocked()) {
- m_frame.page()->pointerLockController().dispatchLockedWheelEvent(event);
- return true;
- }
-#endif
-
m_isHandlingWheelEvent = true;
setFrameWasScrolledByUser();
Modified: trunk/Source/WebCore/page/PointerLockController.cpp (211374 => 211375)
--- trunk/Source/WebCore/page/PointerLockController.cpp 2017-01-30 18:16:57 UTC (rev 211374)
+++ trunk/Source/WebCore/page/PointerLockController.cpp 2017-01-30 18:18:46 UTC (rev 211375)
@@ -123,11 +123,6 @@
}
}
-bool PointerLockController::isLocked() const
-{
- return m_element && !m_lockPending;
-}
-
bool PointerLockController::lockPending() const
{
return m_lockPending;
@@ -180,14 +175,6 @@
m_element->dispatchMouseEvent(event, eventNames().clickEvent, event.clickCount());
}
-void PointerLockController::dispatchLockedWheelEvent(const PlatformWheelEvent& event)
-{
- if (!m_element || !m_element->document().frame())
- return;
-
- m_element->dispatchWheelEvent(event);
-}
-
void PointerLockController::clearElement()
{
m_lockPending = false;
Modified: trunk/Source/WebCore/page/PointerLockController.h (211374 => 211375)
--- trunk/Source/WebCore/page/PointerLockController.h 2017-01-30 18:16:57 UTC (rev 211374)
+++ trunk/Source/WebCore/page/PointerLockController.h 2017-01-30 18:18:46 UTC (rev 211375)
@@ -35,7 +35,6 @@
class Document;
class Page;
class PlatformMouseEvent;
-class PlatformWheelEvent;
class VoidCallback;
class PointerLockController {
@@ -49,7 +48,6 @@
void requestPointerUnlockAndForceCursorVisible();
void elementRemoved(Element&);
void documentDetached(Document&);
- bool isLocked() const;
WEBCORE_EXPORT bool lockPending() const;
WEBCORE_EXPORT Element* element() const;
@@ -57,7 +55,6 @@
WEBCORE_EXPORT void didNotAcquirePointerLock();
WEBCORE_EXPORT void didLosePointerLock();
void dispatchLockedMouseEvent(const PlatformMouseEvent&, const AtomicString& eventType);
- void dispatchLockedWheelEvent(const PlatformWheelEvent&);
private:
void clearElement();