| 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 PassRefPtrWillBeRawPtr<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); | |
| 22 PassRefPtrWillBeRawPtr<PointerEvent> createAndCheckTouchEvent( | 21 PassRefPtrWillBeRawPtr<PointerEvent> createAndCheckTouchEvent( |
| 23 WebPointerProperties::PointerType, int rawId, | 22 WebPointerProperties::PointerType, int rawId, |
| 24 int uniqueId, bool isPrimary, | 23 int uniqueId, bool isPrimary, |
| 25 PlatformTouchPoint::TouchState = PlatformTouchPoint::TouchPressed); | 24 PlatformTouchPoint::TouchState = PlatformTouchPoint::TouchPressed); |
| 26 PassRefPtrWillBeRawPtr<PointerEvent> createAndCheckMouseEvent( | 25 PassRefPtrWillBeRawPtr<PointerEvent> createAndCheckMouseEvent( |
| 27 WebPointerProperties::PointerType, int rawId, | 26 WebPointerProperties::PointerType, int rawId, |
| 28 int uniqueId, bool isPrimary, | 27 int uniqueId, bool isPrimary, |
| 29 PlatformEvent::Modifiers = PlatformEvent::NoModifiers); | 28 PlatformEvent::Modifiers = PlatformEvent::NoModifiers); |
| 30 void createAndCheckPointerTransitionEvent( | 29 void createAndCheckPointerTransitionEvent( |
| 31 PassRefPtrWillBeRawPtr<PointerEvent>, | 30 PassRefPtrWillBeRawPtr<PointerEvent>, |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 WebPointerProperties::PointerType pointerType, int id, | 67 WebPointerProperties::PointerType pointerType, int id, |
| 69 PlatformEvent::Modifiers modifiers) | 68 PlatformEvent::Modifiers modifiers) |
| 70 { | 69 { |
| 71 m_pointerProperties.pointerType = pointerType; | 70 m_pointerProperties.pointerType = pointerType; |
| 72 m_pointerProperties.id = id; | 71 m_pointerProperties.id = id; |
| 73 m_modifiers = modifiers; | 72 m_modifiers = modifiers; |
| 74 } | 73 } |
| 75 | 74 |
| 76 PassRefPtrWillBeRawPtr<PointerEvent> PointerEventFactoryTest::createAndCheckTouc
hCancel( | 75 PassRefPtrWillBeRawPtr<PointerEvent> PointerEventFactoryTest::createAndCheckTouc
hCancel( |
| 77 WebPointerProperties::PointerType pointerType, int rawId, | 76 WebPointerProperties::PointerType pointerType, int rawId, |
| 78 int uniqueId, bool isPrimary, | 77 int uniqueId, bool isPrimary) |
| 79 PlatformTouchPoint::TouchState state) | |
| 80 { | 78 { |
| 81 RefPtrWillBeRawPtr<PointerEvent> pointerEvent = m_pointerEventFactory.create
PointerCancelEvent( | 79 RefPtrWillBeRawPtr<PointerEvent> pointerEvent = m_pointerEventFactory.create
PointerCancelEvent( |
| 82 PointerEventFactoryTest::PlatformTouchPointBuilder(pointerType, rawId, s
tate)); | 80 uniqueId, pointerType); |
| 83 EXPECT_EQ(uniqueId, pointerEvent->pointerId()); | 81 EXPECT_EQ(uniqueId, pointerEvent->pointerId()); |
| 84 EXPECT_EQ(isPrimary, pointerEvent->isPrimary()); | 82 EXPECT_EQ(isPrimary, pointerEvent->isPrimary()); |
| 85 return pointerEvent; | 83 return pointerEvent; |
| 86 } | 84 } |
| 87 | 85 |
| 88 void PointerEventFactoryTest::createAndCheckPointerTransitionEvent( | 86 void PointerEventFactoryTest::createAndCheckPointerTransitionEvent( |
| 89 PassRefPtrWillBeRawPtr<PointerEvent> prpPointerEvent, | 87 PassRefPtrWillBeRawPtr<PointerEvent> prpPointerEvent, |
| 90 const AtomicString& type) | 88 const AtomicString& type) |
| 91 { | 89 { |
| 92 RefPtrWillBeRawPtr<PointerEvent> pointerEvent = prpPointerEvent; | 90 RefPtrWillBeRawPtr<PointerEvent> pointerEvent = prpPointerEvent; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); | 126 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); |
| 129 | 127 |
| 130 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckMouseEvent(We
bPointerProperties::PointerType::Mouse, 0, m_expectedMouseId, true); | 128 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckMouseEvent(We
bPointerProperties::PointerType::Mouse, 0, m_expectedMouseId, true); |
| 131 RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckMouseEvent(We
bPointerProperties::PointerType::Mouse, 0, m_expectedMouseId, true, PlatformEven
t::LeftButtonDown); | 129 RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckMouseEvent(We
bPointerProperties::PointerType::Mouse, 0, m_expectedMouseId, true, PlatformEven
t::LeftButtonDown); |
| 132 | 130 |
| 133 createAndCheckPointerTransitionEvent(pointerEvent1, EventTypeNames::pointero
ut); | 131 createAndCheckPointerTransitionEvent(pointerEvent1, EventTypeNames::pointero
ut); |
| 134 | 132 |
| 135 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); | 133 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); |
| 136 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); | 134 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); |
| 137 | 135 |
| 138 m_pointerEventFactory.remove(pointerEvent1); | 136 m_pointerEventFactory.remove(pointerEvent1->pointerId()); |
| 139 | 137 |
| 140 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); | 138 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); |
| 141 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); | 139 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); |
| 142 | 140 |
| 143 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expe
ctedMouseId, true); | 141 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expe
ctedMouseId, true); |
| 144 | 142 |
| 145 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); | 143 EXPECT_TRUE(m_pointerEventFactory.isActive(m_expectedMouseId)); |
| 146 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); | 144 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_expectedMouseId)); |
| 147 | 145 |
| 148 m_pointerEventFactory.remove(pointerEvent1); | 146 m_pointerEventFactory.remove(pointerEvent1->pointerId()); |
| 149 m_pointerEventFactory.remove(pointerEvent2); | 147 m_pointerEventFactory.remove(pointerEvent2->pointerId()); |
| 150 | 148 |
| 151 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 1, m_expe
ctedMouseId, true); | 149 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 1, m_expe
ctedMouseId, true); |
| 152 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 20, m_exp
ectedMouseId, true); | 150 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 20, m_exp
ectedMouseId, true); |
| 153 | 151 |
| 154 } | 152 } |
| 155 | 153 |
| 156 TEST_F(PointerEventFactoryTest, TouchPointerPrimaryRemovedWhileAnotherIsThere) | 154 TEST_F(PointerEventFactoryTest, TouchPointerPrimaryRemovedWhileAnotherIsThere) |
| 157 { | 155 { |
| 158 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true); | 156 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true); |
| 159 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mapp
edIdStart+1, false); | 157 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mapp
edIdStart+1, false); |
| 160 | 158 |
| 161 m_pointerEventFactory.remove(pointerEvent1); | 159 m_pointerEventFactory.remove(pointerEvent1->pointerId()); |
| 162 | 160 |
| 163 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 2, m_mapp
edIdStart+2, false); | 161 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 2, m_mapp
edIdStart+2, false); |
| 164 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mapp
edIdStart+1, false); | 162 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mapp
edIdStart+1, false); |
| 165 } | 163 } |
| 166 | 164 |
| 167 TEST_F(PointerEventFactoryTest, TouchPointerReleasedAndPressedAgain) | 165 TEST_F(PointerEventFactoryTest, TouchPointerReleasedAndPressedAgain) |
| 168 { | 166 { |
| 169 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart)); | 167 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart)); |
| 170 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); | 168 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); |
| 171 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); | 169 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); |
| 172 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); | 170 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); |
| 173 | 171 |
| 174 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true); | 172 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true); |
| 175 RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 1, m_mappedIdStart+1, false); | 173 RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 1, m_mappedIdStart+1, false); |
| 176 | 174 |
| 177 createAndCheckPointerTransitionEvent(pointerEvent1, EventTypeNames::pointerl
eave); | 175 createAndCheckPointerTransitionEvent(pointerEvent1, EventTypeNames::pointerl
eave); |
| 178 createAndCheckPointerTransitionEvent(pointerEvent2, EventTypeNames::pointere
nter); | 176 createAndCheckPointerTransitionEvent(pointerEvent2, EventTypeNames::pointere
nter); |
| 179 | 177 |
| 180 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart)); | 178 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart)); |
| 181 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); | 179 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); |
| 182 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); | 180 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); |
| 183 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); | 181 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); |
| 184 | 182 |
| 185 m_pointerEventFactory.remove(pointerEvent1); | 183 m_pointerEventFactory.remove(pointerEvent1->pointerId()); |
| 186 m_pointerEventFactory.remove(pointerEvent2); | 184 m_pointerEventFactory.remove(pointerEvent2->pointerId()); |
| 187 | 185 |
| 188 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart)); | 186 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart)); |
| 189 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); | 187 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); |
| 190 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); | 188 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); |
| 191 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); | 189 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); |
| 192 | 190 |
| 193 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mapp
edIdStart+2, true); | 191 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 1, m_mapp
edIdStart+2, true); |
| 194 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart+3, false); | 192 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart+3, false); |
| 195 | 193 |
| 196 m_pointerEventFactory.clear(); | 194 m_pointerEventFactory.clear(); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 207 RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true); | 205 RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true); |
| 208 | 206 |
| 209 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart)); | 207 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart)); |
| 210 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); | 208 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); |
| 211 | 209 |
| 212 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart, true, PlatformTouchPoint::TouchReleased); | 210 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart, true, PlatformTouchPoint::TouchReleased); |
| 213 | 211 |
| 214 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart)); | 212 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart)); |
| 215 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); | 213 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); |
| 216 | 214 |
| 217 m_pointerEventFactory.remove(pointerEvent1); | 215 m_pointerEventFactory.remove(pointerEvent1->pointerId()); |
| 218 m_pointerEventFactory.remove(pointerEvent2); | 216 m_pointerEventFactory.remove(pointerEvent2->pointerId()); |
| 219 | 217 |
| 220 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart)); | 218 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart)); |
| 221 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); | 219 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart)); |
| 222 | 220 |
| 223 | 221 |
| 224 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); | 222 EXPECT_FALSE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); |
| 225 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); | 223 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); |
| 226 | 224 |
| 227 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart+1, true); | 225 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart+1, true); |
| 228 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart+1, true); | 226 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart+1, true); |
| 229 | 227 |
| 230 // Remove an obsolete (i.e. already removed) pointer event which should have
no effect | 228 // Remove an obsolete (i.e. already removed) pointer event which should have
no effect |
| 231 m_pointerEventFactory.remove(pointerEvent1); | 229 m_pointerEventFactory.remove(pointerEvent1->pointerId()); |
| 232 | 230 |
| 233 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); | 231 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); |
| 234 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); | 232 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); |
| 235 | 233 |
| 236 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart+1, true); | 234 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart+1, true); |
| 237 createAndCheckTouchCancel(WebPointerProperties::PointerType::Touch, 0, m_map
pedIdStart+1, true); | 235 createAndCheckTouchCancel(WebPointerProperties::PointerType::Touch, 0, m_map
pedIdStart+1, true); |
| 238 | 236 |
| 239 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); | 237 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); |
| 240 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); | 238 EXPECT_FALSE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); |
| 241 | 239 |
| 242 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart+1, true); | 240 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart+1, true); |
| 243 | 241 |
| 244 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); | 242 EXPECT_TRUE(m_pointerEventFactory.isActive(m_mappedIdStart+1)); |
| 245 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); | 243 EXPECT_TRUE(m_pointerEventFactory.isActiveButtonsState(m_mappedIdStart+1)); |
| 246 } | 244 } |
| 247 | 245 |
| 248 TEST_F(PointerEventFactoryTest, MouseAndTouchAndPen) | 246 TEST_F(PointerEventFactoryTest, MouseAndTouchAndPen) |
| 249 { | 247 { |
| 250 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expe
ctedMouseId, true); | 248 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expe
ctedMouseId, true); |
| 251 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true); | 249 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 0, m_mappedIdStart, true); |
| 252 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, true); | 250 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, true); |
| 253 | 251 |
| 254 RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 1, m_mappedIdStart+2, false); | 252 RefPtrWillBeRawPtr<PointerEvent> pointerEvent2 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 1, m_mappedIdStart+2, false); |
| 255 RefPtrWillBeRawPtr<PointerEvent> pointerEvent3 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 2, m_mappedIdStart+3, false); | 253 RefPtrWillBeRawPtr<PointerEvent> pointerEvent3 = createAndCheckTouchEvent(We
bPointerProperties::PointerType::Touch, 2, m_mappedIdStart+3, false); |
| 256 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, true); | 254 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, true); |
| 257 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 47213, m_ma
ppedIdStart+4, false); | 255 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 47213, m_ma
ppedIdStart+4, false); |
| 258 | 256 |
| 259 m_pointerEventFactory.remove(pointerEvent1); | 257 m_pointerEventFactory.remove(pointerEvent1->pointerId()); |
| 260 m_pointerEventFactory.remove(pointerEvent2); | 258 m_pointerEventFactory.remove(pointerEvent2->pointerId()); |
| 261 m_pointerEventFactory.remove(pointerEvent3); | 259 m_pointerEventFactory.remove(pointerEvent3->pointerId()); |
| 262 | 260 |
| 263 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 100, m_ma
ppedIdStart+5, true); | 261 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 100, m_ma
ppedIdStart+5, true); |
| 264 | 262 |
| 265 m_pointerEventFactory.clear(); | 263 m_pointerEventFactory.clear(); |
| 266 | 264 |
| 267 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expe
ctedMouseId, true); | 265 createAndCheckMouseEvent(WebPointerProperties::PointerType::Mouse, 0, m_expe
ctedMouseId, true); |
| 268 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart, true); | 266 createAndCheckTouchEvent(WebPointerProperties::PointerType::Touch, 0, m_mapp
edIdStart, true); |
| 269 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, true); | 267 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, true); |
| 270 } | 268 } |
| 271 | 269 |
| 272 TEST_F(PointerEventFactoryTest, PenAsTouchAndMouseEvent) | 270 TEST_F(PointerEventFactoryTest, PenAsTouchAndMouseEvent) |
| 273 { | 271 { |
| 274 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckMouseEvent(We
bPointerProperties::PointerType::Pen, 0, m_mappedIdStart, true); | 272 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckMouseEvent(We
bPointerProperties::PointerType::Pen, 0, m_mappedIdStart, true); |
| 275 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart+1, false); | 273 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart+1, false); |
| 276 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 2, m_mapped
IdStart+2, false); | 274 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 2, m_mapped
IdStart+2, false); |
| 277 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart, true); | 275 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart, true); |
| 278 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart+1, false); | 276 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart+1, false); |
| 279 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart, true); | 277 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart, true); |
| 280 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart+1, false); | 278 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart+1, false); |
| 281 | 279 |
| 282 m_pointerEventFactory.remove(pointerEvent1); | 280 m_pointerEventFactory.remove(pointerEvent1->pointerId()); |
| 283 | 281 |
| 284 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+3, false); | 282 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+3, false); |
| 285 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+3, false); | 283 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+3, false); |
| 286 createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 0, m_mappe
dIdStart+3, false); | 284 createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 0, m_mappe
dIdStart+3, false); |
| 287 | 285 |
| 288 m_pointerEventFactory.clear(); | 286 m_pointerEventFactory.clear(); |
| 289 | 287 |
| 290 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart, true); | 288 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart, true); |
| 291 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, false); | 289 createAndCheckTouchEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, false); |
| 292 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart, true); | 290 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 1, m_mapped
IdStart, true); |
| 293 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, false); | 291 createAndCheckMouseEvent(WebPointerProperties::PointerType::Pen, 0, m_mapped
IdStart+1, false); |
| 294 createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 1, m_mappe
dIdStart, true); | 292 createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 1, m_mappe
dIdStart, true); |
| 295 createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 0, m_mappe
dIdStart+1, false); | 293 createAndCheckTouchCancel(WebPointerProperties::PointerType::Pen, 0, m_mappe
dIdStart+1, false); |
| 296 } | 294 } |
| 297 | 295 |
| 298 | 296 |
| 299 TEST_F(PointerEventFactoryTest, OutOfRange) | 297 TEST_F(PointerEventFactoryTest, OutOfRange) |
| 300 { | 298 { |
| 301 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckMouseEvent(We
bPointerProperties::PointerType::Unknown, 0, m_mappedIdStart, true); | 299 RefPtrWillBeRawPtr<PointerEvent> pointerEvent1 = createAndCheckMouseEvent(We
bPointerProperties::PointerType::Unknown, 0, m_mappedIdStart, true); |
| 302 createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 1, m_ma
ppedIdStart+1, false); | 300 createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 1, m_ma
ppedIdStart+1, false); |
| 303 createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 2, m_ma
ppedIdStart+2, false); | 301 createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 2, m_ma
ppedIdStart+2, false); |
| 304 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 0, m_ma
ppedIdStart, true); | 302 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 0, m_ma
ppedIdStart, true); |
| 305 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 3, m_ma
ppedIdStart+3, false); | 303 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 3, m_ma
ppedIdStart+3, false); |
| 306 createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 2, m_ma
ppedIdStart+2, false); | 304 createAndCheckMouseEvent(WebPointerProperties::PointerType::Unknown, 2, m_ma
ppedIdStart+2, false); |
| 307 createAndCheckTouchCancel(WebPointerProperties::PointerType::Unknown, 3, m_m
appedIdStart+3, false); | 305 createAndCheckTouchCancel(WebPointerProperties::PointerType::Unknown, 3, m_m
appedIdStart+3, false); |
| 308 | 306 |
| 309 m_pointerEventFactory.remove(pointerEvent1); | 307 m_pointerEventFactory.remove(pointerEvent1->pointerId()); |
| 310 | 308 |
| 311 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 0, m_ma
ppedIdStart+4, false); | 309 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, 0, m_ma
ppedIdStart+4, false); |
| 312 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, INT_MAX
, m_mappedIdStart+5, false); | 310 createAndCheckTouchEvent(WebPointerProperties::PointerType::Unknown, INT_MAX
, m_mappedIdStart+5, false); |
| 313 | 311 |
| 314 m_pointerEventFactory.clear(); | 312 m_pointerEventFactory.clear(); |
| 315 | 313 |
| 316 for (int i = 0; i < 100; ++i) { | 314 for (int i = 0; i < 100; ++i) { |
| 317 createAndCheckMouseEvent(WebPointerProperties::PointerType::Touch, i, m_
mappedIdStart+i, i == 0); | 315 createAndCheckMouseEvent(WebPointerProperties::PointerType::Touch, i, m_
mappedIdStart+i, i == 0); |
| 318 } | 316 } |
| 319 | 317 |
| 320 for (int i = 0; i < 100; ++i) { | 318 for (int i = 0; i < 100; ++i) { |
| 321 createAndCheckTouchEvent(WebPointerProperties::PointerType::Mouse, i, m_
expectedMouseId, true); | 319 createAndCheckTouchEvent(WebPointerProperties::PointerType::Mouse, i, m_
expectedMouseId, true); |
| 322 } | 320 } |
| 323 createAndCheckTouchCancel(WebPointerProperties::PointerType::Mouse, 0, m_exp
ectedMouseId, true); | 321 createAndCheckTouchCancel(WebPointerProperties::PointerType::Mouse, 0, m_exp
ectedMouseId, true); |
| 324 } | 322 } |
| 325 | 323 |
| 326 } // namespace blink | 324 } // namespace blink |
| OLD | NEW |