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