| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/events/PointerEventFactory.h" | 5 #include "core/events/PointerEventFactory.h" |
| 6 | 6 |
| 7 #include "core/frame/FrameView.h" | 7 #include "core/frame/FrameView.h" |
| 8 #include "core/page/Page.h" | 8 #include "core/page/Page.h" |
| 9 #include "public/platform/WebPointerProperties.h" | 9 #include "public/platform/WebPointerProperties.h" |
| 10 #include <climits> | 10 #include <climits> |
| 11 #include <gtest/gtest.h> | 11 #include <gtest/gtest.h> |
| 12 | 12 |
| 13 namespace blink { | 13 namespace blink { |
| 14 | 14 |
| 15 class PointerEventFactoryTest : public ::testing::Test { | 15 class PointerEventFactoryTest : public ::testing::Test { |
| 16 protected: | 16 protected: |
| 17 void SetUp() override; | 17 void SetUp() override; |
| 18 PassRefPtrWillBeRawPtr<PointerEvent> createAndCheckTouchCancel( | 18 RawPtr<PointerEvent> createAndCheckTouchCancel( |
| 19 WebPointerProperties::PointerType, int rawId, | 19 WebPointerProperties::PointerType, int rawId, |
| 20 int uniqueId, bool isPrimary, | 20 int uniqueId, bool isPrimary, |
| 21 PlatformTouchPoint::TouchState = PlatformTouchPoint::TouchReleased); | 21 PlatformTouchPoint::TouchState = PlatformTouchPoint::TouchReleased); |
| 22 PassRefPtrWillBeRawPtr<PointerEvent> createAndCheckTouchEvent( | 22 RawPtr<PointerEvent> createAndCheckTouchEvent( |
| 23 WebPointerProperties::PointerType, int rawId, | 23 WebPointerProperties::PointerType, int rawId, |
| 24 int uniqueId, bool isPrimary, | 24 int uniqueId, bool isPrimary, |
| 25 PlatformTouchPoint::TouchState = PlatformTouchPoint::TouchPressed); | 25 PlatformTouchPoint::TouchState = PlatformTouchPoint::TouchPressed); |
| 26 PassRefPtrWillBeRawPtr<PointerEvent> createAndCheckMouseEvent( | 26 RawPtr<PointerEvent> createAndCheckMouseEvent( |
| 27 WebPointerProperties::PointerType, int rawId, | 27 WebPointerProperties::PointerType, int rawId, |
| 28 int uniqueId, bool isPrimary, | 28 int uniqueId, bool isPrimary, |
| 29 PlatformEvent::Modifiers = PlatformEvent::NoModifiers); | 29 PlatformEvent::Modifiers = PlatformEvent::NoModifiers); |
| 30 void createAndCheckPointerTransitionEvent( | 30 void createAndCheckPointerTransitionEvent( |
| 31 PassRefPtrWillBeRawPtr<PointerEvent>, | 31 RawPtr<PointerEvent>, |
| 32 const AtomicString&); | 32 const AtomicString&); |
| 33 | 33 |
| 34 PointerEventFactory m_pointerEventFactory; | 34 PointerEventFactory m_pointerEventFactory; |
| 35 unsigned m_expectedMouseId; | 35 unsigned m_expectedMouseId; |
| 36 unsigned m_mappedIdStart; | 36 unsigned m_mappedIdStart; |
| 37 | 37 |
| 38 class PlatformTouchPointBuilder : public PlatformTouchPoint { | 38 class PlatformTouchPointBuilder : public PlatformTouchPoint { |
| 39 public: | 39 public: |
| 40 PlatformTouchPointBuilder(WebPointerProperties::PointerType, int, | 40 PlatformTouchPointBuilder(WebPointerProperties::PointerType, int, |
| 41 PlatformTouchPoint::TouchState); | 41 PlatformTouchPoint::TouchState); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 66 | 66 |
| 67 PointerEventFactoryTest::PlatformMouseEventBuilder::PlatformMouseEventBuilder( | 67 PointerEventFactoryTest::PlatformMouseEventBuilder::PlatformMouseEventBuilder( |
| 68 WebPointerProperties::PointerType pointerType, int id, | 68 WebPointerProperties::PointerType pointerType, int id, |
| 69 PlatformEvent::Modifiers modifiers) | 69 PlatformEvent::Modifiers modifiers) |
| 70 { | 70 { |
| 71 m_pointerProperties.pointerType = pointerType; | 71 m_pointerProperties.pointerType = pointerType; |
| 72 m_pointerProperties.id = id; | 72 m_pointerProperties.id = id; |
| 73 m_modifiers = modifiers; | 73 m_modifiers = modifiers; |
| 74 } | 74 } |
| 75 | 75 |
| 76 PassRefPtrWillBeRawPtr<PointerEvent> PointerEventFactoryTest::createAndCheckTouc
hCancel( | 76 RawPtr<PointerEvent> PointerEventFactoryTest::createAndCheckTouchCancel( |
| 77 WebPointerProperties::PointerType pointerType, int rawId, | 77 WebPointerProperties::PointerType pointerType, int rawId, |
| 78 int uniqueId, bool isPrimary, | 78 int uniqueId, bool isPrimary, |
| 79 PlatformTouchPoint::TouchState state) | 79 PlatformTouchPoint::TouchState state) |
| 80 { | 80 { |
| 81 RefPtrWillBeRawPtr<PointerEvent> pointerEvent = m_pointerEventFactory.create
PointerCancelEvent( | 81 RawPtr<PointerEvent> pointerEvent = m_pointerEventFactory.createPointerCance
lEvent( |
| 82 PointerEventFactoryTest::PlatformTouchPointBuilder(pointerType, rawId, s
tate)); | 82 PointerEventFactoryTest::PlatformTouchPointBuilder(pointerType, rawId, s
tate)); |
| 83 EXPECT_EQ(uniqueId, pointerEvent->pointerId()); | 83 EXPECT_EQ(uniqueId, pointerEvent->pointerId()); |
| 84 EXPECT_EQ(isPrimary, pointerEvent->isPrimary()); | 84 EXPECT_EQ(isPrimary, pointerEvent->isPrimary()); |
| 85 return pointerEvent; | 85 return pointerEvent; |
| 86 } | 86 } |
| 87 | 87 |
| 88 void PointerEventFactoryTest::createAndCheckPointerTransitionEvent( | 88 void PointerEventFactoryTest::createAndCheckPointerTransitionEvent( |
| 89 PassRefPtrWillBeRawPtr<PointerEvent> prpPointerEvent, | 89 RawPtr<PointerEvent> prpPointerEvent, |
| 90 const AtomicString& type) | 90 const AtomicString& type) |
| 91 { | 91 { |
| 92 RefPtrWillBeRawPtr<PointerEvent> pointerEvent = prpPointerEvent; | 92 RawPtr<PointerEvent> pointerEvent = prpPointerEvent; |
| 93 RefPtrWillBeRawPtr<PointerEvent> clonePointerEvent = m_pointerEventFactory. | 93 RawPtr<PointerEvent> clonePointerEvent = m_pointerEventFactory. |
| 94 createPointerTransitionEvent(pointerEvent, type, nullptr); | 94 createPointerTransitionEvent(pointerEvent, type, nullptr); |
| 95 EXPECT_EQ(clonePointerEvent->pointerType(), pointerEvent->pointerType()); | 95 EXPECT_EQ(clonePointerEvent->pointerType(), pointerEvent->pointerType()); |
| 96 EXPECT_EQ(clonePointerEvent->pointerId(), pointerEvent->pointerId()); | 96 EXPECT_EQ(clonePointerEvent->pointerId(), pointerEvent->pointerId()); |
| 97 EXPECT_EQ(clonePointerEvent->isPrimary(), pointerEvent->isPrimary()); | 97 EXPECT_EQ(clonePointerEvent->isPrimary(), pointerEvent->isPrimary()); |
| 98 EXPECT_EQ(clonePointerEvent->type(), type); | 98 EXPECT_EQ(clonePointerEvent->type(), type); |
| 99 } | 99 } |
| 100 | 100 |
| 101 PassRefPtrWillBeRawPtr<PointerEvent> PointerEventFactoryTest::createAndCheckTouc
hEvent( | 101 RawPtr<PointerEvent> PointerEventFactoryTest::createAndCheckTouchEvent( |
| 102 WebPointerProperties::PointerType pointerType, | 102 WebPointerProperties::PointerType pointerType, |
| 103 int rawId, int uniqueId, bool isPrimary, | 103 int rawId, int uniqueId, bool isPrimary, |
| 104 PlatformTouchPoint::TouchState state) | 104 PlatformTouchPoint::TouchState state) |
| 105 { | 105 { |
| 106 RefPtrWillBeRawPtr<PointerEvent> pointerEvent = m_pointerEventFactory.create
( | 106 RawPtr<PointerEvent> pointerEvent = m_pointerEventFactory.create( |
| 107 EventTypeNames::pointerdown, PointerEventFactoryTest::PlatformTouchPoint
Builder(pointerType, rawId, state), PlatformEvent::NoModifiers, 0, 0, 0, 0); | 107 EventTypeNames::pointerdown, PointerEventFactoryTest::PlatformTouchPoint
Builder(pointerType, rawId, state), PlatformEvent::NoModifiers, 0, 0, 0, 0); |
| 108 EXPECT_EQ(uniqueId, pointerEvent->pointerId()); | 108 EXPECT_EQ(uniqueId, pointerEvent->pointerId()); |
| 109 EXPECT_EQ(isPrimary, pointerEvent->isPrimary()); | 109 EXPECT_EQ(isPrimary, pointerEvent->isPrimary()); |
| 110 return pointerEvent; | 110 return pointerEvent; |
| 111 } | 111 } |
| 112 | 112 |
| 113 PassRefPtrWillBeRawPtr<PointerEvent> PointerEventFactoryTest::createAndCheckMous
eEvent( | 113 RawPtr<PointerEvent> PointerEventFactoryTest::createAndCheckMouseEvent( |
| 114 WebPointerProperties::PointerType pointerType, | 114 WebPointerProperties::PointerType pointerType, |
| 115 int rawId, int uniqueId, bool isPrimary, | 115 int rawId, int uniqueId, bool isPrimary, |
| 116 PlatformEvent::Modifiers modifiers) | 116 PlatformEvent::Modifiers modifiers) |
| 117 { | 117 { |
| 118 RefPtrWillBeRawPtr<PointerEvent> pointerEvent = m_pointerEventFactory.create
( | 118 RawPtr<PointerEvent> pointerEvent = m_pointerEventFactory.create( |
| 119 EventTypeNames::mouseenter, PlatformMouseEventBuilder(pointerType, rawId
, modifiers), nullptr, nullptr); | 119 EventTypeNames::mouseenter, PlatformMouseEventBuilder(pointerType, rawId
, modifiers), nullptr, nullptr); |
| 120 EXPECT_EQ(uniqueId, pointerEvent->pointerId()); | 120 EXPECT_EQ(uniqueId, pointerEvent->pointerId()); |
| 121 EXPECT_EQ(isPrimary, pointerEvent->isPrimary()); | 121 EXPECT_EQ(isPrimary, pointerEvent->isPrimary()); |
| 122 return pointerEvent; | 122 return pointerEvent; |
| 123 } | 123 } |
| 124 | 124 |
| 125 TEST_F(PointerEventFactoryTest, MousePointer) | 125 TEST_F(PointerEventFactoryTest, MousePointer) |
| 126 { | 126 { |
| 127 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); | 127 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); |
| 128 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); | 128 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); |
| 129 | 129 |
| 130 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckMouseEvent(We
bPointerProperties::PointerType::Mouse, 0, m_expectedMouseId, true); | 130 RawPtr<PointerEvent> pointerEvent1 = createAndCheckMouseEvent(WebPointerProp
erties::PointerType::Mouse, 0, m_expectedMouseId, true); |
| 131 RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckMouseEvent(We
bPointerProperties::PointerType::Mouse, 0, m_expectedMouseId, true, PlatformEven
t::LeftButtonDown); | 131 RawPtr<PointerEvent> pointerEvent2 = createAndCheckMouseEvent(WebPointerProp
erties::PointerType::Mouse, 0, m_expectedMouseId, true, PlatformEvent::LeftButto
nDown); |
| 132 | 132 |
| 133 createAndCheckPointerTransitionEvent(pointerEvent1, EventTypeNames::pointero
ut); | 133 createAndCheckPointerTransitionEvent(pointerEvent1, EventTypeNames::pointero
ut); |
| 134 | 134 |
| 135 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); | 135 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); |
| 136 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); | 136 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); |
| 137 | 137 |
| 138 m_pointerEventFactory.remove(pointerEvent1); | 138 m_pointerEventFactory.remove(pointerEvent1); |
| 139 | 139 |
| 140 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); | 140 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); |
| 141 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); | 141 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); |
| 142 | 142 |
| 143 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expe
ctedMouseId, true); | 143 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expe
ctedMouseId, true); |
| 144 | 144 |
| 145 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); | 145 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); |
| 146 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); | 146 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); |
| 147 | 147 |
| 148 m_pointerEventFactory.remove(pointerEvent1); | 148 m_pointerEventFactory.remove(pointerEvent1); |
| 149 m_pointerEventFactory.remove(pointerEvent2); | 149 m_pointerEventFactory.remove(pointerEvent2); |
| 150 | 150 |
| 151 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 1, m_expe
ctedMouseId, true); | 151 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 1, m_expe
ctedMouseId, true); |
| 152 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 20, m_exp
ectedMouseId, true); | 152 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 20, m_exp
ectedMouseId, true); |
| 153 | 153 |
| 154 } | 154 } |
| 155 | 155 |
| 156 TEST_F(PointerEventFactoryTest, TouchPointerPrimaryRemovedWhileAnotherIsThere) | 156 TEST_F(PointerEventFactoryTest, TouchPointerPrimaryRemovedWhileAnotherIsThere) |
| 157 { | 157 { |
| 158 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true); | 158 RawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(WebPointerProp
erties::PointerType::Touch, 0, m_mappedIdStart, true); |
| 159 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mapp
edIdStart+1, false); | 159 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mapp
edIdStart+1, false); |
| 160 | 160 |
| 161 m_pointerEventFactory.remove(pointerEvent1); | 161 m_pointerEventFactory.remove(pointerEvent1); |
| 162 | 162 |
| 163 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 2, m_mapp
edIdStart+2, false); | 163 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 2, m_mapp
edIdStart+2, false); |
| 164 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mapp
edIdStart+1, false); | 164 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mapp
edIdStart+1, false); |
| 165 } | 165 } |
| 166 | 166 |
| 167 TEST_F(PointerEventFactoryTest, TouchPointerReleasedAndPressedAgain) | 167 TEST_F(PointerEventFactoryTest, TouchPointerReleasedAndPressedAgain) |
| 168 { | 168 { |
| 169 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart)); | 169 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart)); |
| 170 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); | 170 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); |
| 171 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); | 171 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); |
| 172 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); | 172 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); |
| 173 | 173 |
| 174 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true); | 174 RawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(WebPointerProp
erties::PointerType::Touch, 0, m_mappedIdStart, true); |
| 175 RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 1, m_mappedIdStart+1, false); | 175 RawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(WebPointerProp
erties::PointerType::Touch, 1, m_mappedIdStart+1, false); |
| 176 | 176 |
| 177 createAndCheckPointerTransitionEvent(pointerEvent1, EventTypeNames::pointerl
eave); | 177 createAndCheckPointerTransitionEvent(pointerEvent1, EventTypeNames::pointerl
eave); |
| 178 createAndCheckPointerTransitionEvent(pointerEvent2, EventTypeNames::pointere
nter); | 178 createAndCheckPointerTransitionEvent(pointerEvent2, EventTypeNames::pointere
nter); |
| 179 | 179 |
| 180 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart)); | 180 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart)); |
| 181 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); | 181 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); |
| 182 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); | 182 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); |
| 183 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); | 183 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); |
| 184 | 184 |
| 185 m_pointerEventFactory.remove(pointerEvent1); | 185 m_pointerEventFactory.remove(pointerEvent1); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 196 m_pointerEventFactory.clear(); | 196 m_pointerEventFactory.clear(); |
| 197 | 197 |
| 198 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 10, m_map
pedIdStart, true); | 198 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 10, m_map
pedIdStart, true); |
| 199 } | 199 } |
| 200 | 200 |
| 201 TEST_F(PointerEventFactoryTest, TouchAndDrag) | 201 TEST_F(PointerEventFactoryTest, TouchAndDrag) |
| 202 { | 202 { |
| 203 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart)); | 203 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart)); |
| 204 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); | 204 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); |
| 205 | 205 |
| 206 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true); | 206 RawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(WebPointerProp
erties::PointerType::Touch, 0, m_mappedIdStart, true); |
| 207 RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true); | 207 RawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(WebPointerProp
erties::PointerType::Touch, 0, m_mappedIdStart, true); |
| 208 | 208 |
| 209 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart)); | 209 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart)); |
| 210 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); | 210 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); |
| 211 | 211 |
| 212 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart, true, PlatformTouchPoint::TouchReleased); | 212 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart, true, PlatformTouchPoint::TouchReleased); |
| 213 | 213 |
| 214 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart)); | 214 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart)); |
| 215 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); | 215 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); |
| 216 | 216 |
| 217 m_pointerEventFactory.remove(pointerEvent1); | 217 m_pointerEventFactory.remove(pointerEvent1); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 241 | 241 |
| 242 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart+1, true); | 242 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart+1, true); |
| 243 | 243 |
| 244 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); | 244 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); |
| 245 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); | 245 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); |
| 246 } | 246 } |
| 247 | 247 |
| 248 TEST_F(PointerEventFactoryTest, MouseAndTouchAndPen) | 248 TEST_F(PointerEventFactoryTest, MouseAndTouchAndPen) |
| 249 { | 249 { |
| 250 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expe
ctedMouseId, true); | 250 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expe
ctedMouseId, true); |
| 251 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true); | 251 RawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(WebPointerProp
erties::PointerType::Touch, 0, m_mappedIdStart, true); |
| 252 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, true); | 252 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, true); |
| 253 | 253 |
| 254 RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 1, m_mappedIdStart+2, false); | 254 RawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(WebPointerProp
erties::PointerType::Touch, 1, m_mappedIdStart+2, false); |
| 255 RefPtrWillBeRawPtr<PointerEvent> pointerEvent3 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 2, m_mappedIdStart+3, false); | 255 RawPtr<PointerEvent> pointerEvent3 = createAndCheckTouchEvent(WebPointerProp
erties::PointerType::Touch, 2, m_mappedIdStart+3, false); |
| 256 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, true); | 256 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, true); |
| 257 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 47213, m_ma
ppedIdStart+4, false); | 257 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 47213, m_ma
ppedIdStart+4, false); |
| 258 | 258 |
| 259 m_pointerEventFactory.remove(pointerEvent1); | 259 m_pointerEventFactory.remove(pointerEvent1); |
| 260 m_pointerEventFactory.remove(pointerEvent2); | 260 m_pointerEventFactory.remove(pointerEvent2); |
| 261 m_pointerEventFactory.remove(pointerEvent3); | 261 m_pointerEventFactory.remove(pointerEvent3); |
| 262 | 262 |
| 263 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 100, m_ma
ppedIdStart+5, true); | 263 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 100, m_ma
ppedIdStart+5, true); |
| 264 | 264 |
| 265 m_pointerEventFactory.clear(); | 265 m_pointerEventFactory.clear(); |
| 266 | 266 |
| 267 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expe
ctedMouseId, true); | 267 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expe
ctedMouseId, true); |
| 268 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart, true); | 268 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart, true); |
| 269 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, true); | 269 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, true); |
| 270 } | 270 } |
| 271 | 271 |
| 272 TEST_F(PointerEventFactoryTest, PenAsTouchAndMouseEvent) | 272 TEST_F(PointerEventFactoryTest, PenAsTouchAndMouseEvent) |
| 273 { | 273 { |
| 274 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckMouseEvent(We
bPointerProperties::PointerType::Pen, 0, m_mappedIdStart, true); | 274 RawPtr<PointerEvent> pointerEvent1 = createAndCheckMouseEvent(WebPointerProp
erties::PointerType::Pen, 0, m_mappedIdStart, true); |
| 275 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart+1, false); | 275 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart+1, false); |
| 276 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 2, m_mapped
IdStart+2, false); | 276 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 2, m_mapped
IdStart+2, false); |
| 277 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart, true); | 277 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart, true); |
| 278 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart+1, false); | 278 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart+1, false); |
| 279 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart, true); | 279 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart, true); |
| 280 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart+1, false); | 280 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart+1, false); |
| 281 | 281 |
| 282 m_pointerEventFactory.remove(pointerEvent1); | 282 m_pointerEventFactory.remove(pointerEvent1); |
| 283 | 283 |
| 284 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+3, false); | 284 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+3, false); |
| 285 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+3, false); | 285 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+3, false); |
| 286 createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 0, m_mappe
dIdStart+3, false); | 286 createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 0, m_mappe
dIdStart+3, false); |
| 287 | 287 |
| 288 m_pointerEventFactory.clear(); | 288 m_pointerEventFactory.clear(); |
| 289 | 289 |
| 290 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart, true); | 290 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart, true); |
| 291 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, false); | 291 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, false); |
| 292 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart, true); | 292 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart, true); |
| 293 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, false); | 293 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, false); |
| 294 createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 1, m_mappe
dIdStart, true); | 294 createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 1, m_mappe
dIdStart, true); |
| 295 createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 0, m_mappe
dIdStart+1, false); | 295 createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 0, m_mappe
dIdStart+1, false); |
| 296 } | 296 } |
| 297 | 297 |
| 298 | 298 |
| 299 TEST_F(PointerEventFactoryTest, OutOfRange) | 299 TEST_F(PointerEventFactoryTest, OutOfRange) |
| 300 { | 300 { |
| 301 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckMouseEvent(We
bPointerProperties::PointerType::Unknown, 0, m_mappedIdStart, true); | 301 RawPtr<PointerEvent> pointerEvent1 = createAndCheckMouseEvent(WebPointerProp
erties::PointerType::Unknown, 0, m_mappedIdStart, true); |
| 302 createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 1, m_ma
ppedIdStart+1, false); | 302 createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 1, m_ma
ppedIdStart+1, false); |
| 303 createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 2, m_ma
ppedIdStart+2, false); | 303 createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 2, m_ma
ppedIdStart+2, false); |
| 304 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 0, m_ma
ppedIdStart, true); | 304 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 0, m_ma
ppedIdStart, true); |
| 305 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 3, m_ma
ppedIdStart+3, false); | 305 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 3, m_ma
ppedIdStart+3, false); |
| 306 createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 2, m_ma
ppedIdStart+2, false); | 306 createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 2, m_ma
ppedIdStart+2, false); |
| 307 createAndCheckTouchCancel(WebPointerProperties::PointerType::Unknown, 3, m_m
appedIdStart+3, false); | 307 createAndCheckTouchCancel(WebPointerProperties::PointerType::Unknown, 3, m_m
appedIdStart+3, false); |
| 308 | 308 |
| 309 m_pointerEventFactory.remove(pointerEvent1); | 309 m_pointerEventFactory.remove(pointerEvent1); |
| 310 | 310 |
| 311 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 0, m_ma
ppedIdStart+4, false); | 311 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 0, m_ma
ppedIdStart+4, false); |
| 312 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, INT_MAX
, m_mappedIdStart+5, false); | 312 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, INT_MAX
, m_mappedIdStart+5, false); |
| 313 | 313 |
| 314 m_pointerEventFactory.clear(); | 314 m_pointerEventFactory.clear(); |
| 315 | 315 |
| 316 for (int i = 0; i < 100; ++i) { | 316 for (int i = 0; i < 100; ++i) { |
| 317 createAndCheckMouseEvent(WebPointerProperties::PointerType::Touch, i, m_
mappedIdStart+i, i == 0); | 317 createAndCheckMouseEvent(WebPointerProperties::PointerType::Touch, i, m_
mappedIdStart+i, i == 0); |
| 318 } | 318 } |
| 319 | 319 |
| 320 for (int i = 0; i < 100; ++i) { | 320 for (int i = 0; i < 100; ++i) { |
| 321 createAndCheckTouchEvent(WebPointerProperties::PointerType::Mouse, i, m_
expectedMouseId, true); | 321 createAndCheckTouchEvent(WebPointerProperties::PointerType::Mouse, i, m_
expectedMouseId, true); |
| 322 } | 322 } |
| 323 createAndCheckTouchCancel(WebPointerProperties::PointerType::Mouse, 0, m_exp
ectedMouseId, true); | 323 createAndCheckTouchCancel(WebPointerProperties::PointerType::Mouse, 0, m_exp
ectedMouseId, true); |
| 324 } | 324 } |
| 325 | 325 |
| 326 } // namespace blink | 326 } // namespace blink |
| OLD | NEW |