Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(98)

Unified Diff: third_party/WebKit/Source/core/events/PointerEventFactoryTest.cpp

Issue 1838973003: Send lostpointercapture on touch capturing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/events/PointerEventFactoryTest.cpp
diff --git a/third_party/WebKit/Source/core/events/PointerEventFactoryTest.cpp b/third_party/WebKit/Source/core/events/PointerEventFactoryTest.cpp
index bb94a43fbd139d454c4dd35f6cee05b0d020b806..99f53aefe48a7978e0d9b44b60a9f07598ec51cb 100644
--- a/third_party/WebKit/Source/core/events/PointerEventFactoryTest.cpp
+++ b/third_party/WebKit/Source/core/events/PointerEventFactoryTest.cpp
@@ -21,7 +21,7 @@ protected:
PlatformTouchPoint::TouchState = PlatformTouchPoint::TouchReleased);
PassRefPtrWillBeRawPtr<PointerEvent> createAndCheckTouchEvent(
WebPointerProperties::PointerType, int rawId,
- int uniqueId, bool isPrimary,
+ int uniqueId, bool isPrimary, bool isNew,
PlatformTouchPoint::TouchState = PlatformTouchPoint::TouchPressed);
PassRefPtrWillBeRawPtr<PointerEvent> createAndCheckMouseEvent(
WebPointerProperties::PointerType, int rawId,
@@ -100,11 +100,13 @@ void PointerEventFactoryTest::createAndCheckPointerTransitionEvent(
PassRefPtrWillBeRawPtr<PointerEvent> PointerEventFactoryTest::createAndCheckTouchEvent(
WebPointerProperties::PointerType pointerType,
- int rawId, int uniqueId, bool isPrimary,
+ int rawId, int uniqueId, bool isPrimary, bool isNew,
PlatformTouchPoint::TouchState state)
{
+ bool isNewResult = false;
RefPtrWillBeRawPtr<PointerEvent> pointerEvent = m_pointerEventFactory.create(
- EventTypeNames::pointerdown, PointerEventFactoryTest::PlatformTouchPointBuilder(pointerType, rawId, state), PlatformEvent::NoModifiers, 0, 0, 0, 0);
+ EventTypeNames::pointerdown, PointerEventFactoryTest::PlatformTouchPointBuilder(pointerType, rawId, state), PlatformEvent::NoModifiers, 0, 0, 0, 0, isNewResult);
+ EXPECT_EQ(isNew, isNewResult);
EXPECT_EQ(uniqueId, pointerEvent->pointerId());
EXPECT_EQ(isPrimary, pointerEvent->isPrimary());
return pointerEvent;
@@ -155,13 +157,13 @@ TEST_F(PointerEventFactoryTest, MousePointer)
TEST_F(PointerEventFactoryTest, TouchPointerPrimaryRemovedWhileAnotherIsThere)
{
- RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mappedIdStart+1, false);
+ RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mappedIdStart+1, false, true);
m_pointerEventFactory.remove(pointerEvent1);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 2, m_mappedIdStart+2, false);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mappedIdStart+1, false);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 2, m_mappedIdStart+2, false, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mappedIdStart+1, false, false);
}
TEST_F(PointerEventFactoryTest, TouchPointerReleasedAndPressedAgain)
@@ -171,8 +173,8 @@ TEST_F(PointerEventFactoryTest, TouchPointerReleasedAndPressedAgain)
EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart));
EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1));
- RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true);
- RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mappedIdStart+1, false);
+ RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true, true);
+ RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mappedIdStart+1, false, true);
createAndCheckPointerTransitionEvent(pointerEvent1, EventTypeNames::pointerleave);
createAndCheckPointerTransitionEvent(pointerEvent2, EventTypeNames::pointerenter);
@@ -190,12 +192,12 @@ TEST_F(PointerEventFactoryTest, TouchPointerReleasedAndPressedAgain)
EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart));
EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1));
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mappedIdStart+2, true);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart+3, false);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mappedIdStart+2, true, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart+3, false, true);
m_pointerEventFactory.clear();
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 10, m_mappedIdStart, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 10, m_mappedIdStart, true, true);
}
TEST_F(PointerEventFactoryTest, TouchAndDrag)
@@ -203,13 +205,13 @@ TEST_F(PointerEventFactoryTest, TouchAndDrag)
EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart));
EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart));
- RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true);
- RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true);
+ RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true, true);
+ RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true, false);
EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart));
EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart));
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true, PlatformTouchPoint::TouchReleased);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true, false, PlatformTouchPoint::TouchReleased);
EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart));
EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart));
@@ -224,8 +226,8 @@ TEST_F(PointerEventFactoryTest, TouchAndDrag)
EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart+1));
EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1));
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart+1, true);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart+1, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart+1, true, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart+1, true, false);
// Remove an obsolete (i.e. already removed) pointer event which should have no effect
m_pointerEventFactory.remove(pointerEvent1);
@@ -233,13 +235,13 @@ TEST_F(PointerEventFactoryTest, TouchAndDrag)
EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1));
EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1));
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart+1, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart+1, true, false);
createAndCheckTouchCancel(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart+1, true);
EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1));
EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1));
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart+1, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart+1, true, false);
EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1));
EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1));
@@ -248,25 +250,25 @@ TEST_F(PointerEventFactoryTest, TouchAndDrag)
TEST_F(PointerEventFactoryTest, MouseAndTouchAndPen)
{
createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expectedMouseId, true);
- RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart+1, true);
+ RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart+1, true, true);
- RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mappedIdStart+2, false);
- RefPtrWillBeRawPtr<PointerEvent> pointerEvent3 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 2, m_mappedIdStart+3, false);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart+1, true);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 47213, m_mappedIdStart+4, false);
+ RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mappedIdStart+2, false, true);
+ RefPtrWillBeRawPtr<PointerEvent> pointerEvent3 = createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 2, m_mappedIdStart+3, false, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart+1, true, false);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 47213, m_mappedIdStart+4, false, true);
m_pointerEventFactory.remove(pointerEvent1);
m_pointerEventFactory.remove(pointerEvent2);
m_pointerEventFactory.remove(pointerEvent3);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 100, m_mappedIdStart+5, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 100, m_mappedIdStart+5, true, true);
m_pointerEventFactory.clear();
createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expectedMouseId, true);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart+1, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart+1, true, true);
}
TEST_F(PointerEventFactoryTest, PenAsTouchAndMouseEvent)
@@ -276,19 +278,19 @@ TEST_F(PointerEventFactoryTest, PenAsTouchAndMouseEvent)
createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 2, m_mappedIdStart+2, false);
createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart, true);
createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mappedIdStart+1, false);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart, true);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 1, m_mappedIdStart+1, false);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart, true, false);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 1, m_mappedIdStart+1, false, false);
m_pointerEventFactory.remove(pointerEvent1);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart+3, false);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart+3, false, true);
createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart+3, false);
createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart+3, false);
m_pointerEventFactory.clear();
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 1, m_mappedIdStart, true);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart+1, false);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 1, m_mappedIdStart, true, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart+1, false, true);
createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mappedIdStart, true);
createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mappedIdStart+1, false);
createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 1, m_mappedIdStart, true);
@@ -301,15 +303,15 @@ TEST_F(PointerEventFactoryTest, OutOfRange)
RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 0, m_mappedIdStart, true);
createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 1, m_mappedIdStart+1, false);
createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 2, m_mappedIdStart+2, false);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 0, m_mappedIdStart, true);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 3, m_mappedIdStart+3, false);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 0, m_mappedIdStart, true, false);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 3, m_mappedIdStart+3, false, true);
createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 2, m_mappedIdStart+2, false);
createAndCheckTouchCancel(WebPointerProperties::PointerType::Unknown, 3, m_mappedIdStart+3, false);
m_pointerEventFactory.remove(pointerEvent1);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 0, m_mappedIdStart+4, false);
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, INT_MAX, m_mappedIdStart+5, false);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 0, m_mappedIdStart+4, false, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, INT_MAX, m_mappedIdStart+5, false, true);
m_pointerEventFactory.clear();
@@ -318,7 +320,7 @@ TEST_F(PointerEventFactoryTest, OutOfRange)
}
for (int i = 0; i < 100; ++i) {
- createAndCheckTouchEvent(WebPointerProperties::PointerType::Mouse, i, m_expectedMouseId, true);
+ createAndCheckTouchEvent(WebPointerProperties::PointerType::Mouse, i, m_expectedMouseId, true, false);
}
createAndCheckTouchCancel(WebPointerProperties::PointerType::Mouse, 0, m_expectedMouseId, true);
}

Powered by Google App Engine
This is Rietveld 408576698