OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "platform/geometry/FloatSize.h" | 8 #include "platform/geometry/FloatSize.h" |
9 | 9 |
10 namespace blink { | 10 namespace blink { |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 | 261 |
262 // Created coalesced events init structure | 262 // Created coalesced events init structure |
263 HeapVector<Member<PointerEvent>> coalescedPointerEvents; | 263 HeapVector<Member<PointerEvent>> coalescedPointerEvents; |
264 for (const auto& coalescedMouseEvent : coalescedMouseEvents) { | 264 for (const auto& coalescedMouseEvent : coalescedMouseEvents) { |
265 DCHECK_EQ(mouseEvent.pointerProperties().id, | 265 DCHECK_EQ(mouseEvent.pointerProperties().id, |
266 coalescedMouseEvent.pointerProperties().id); | 266 coalescedMouseEvent.pointerProperties().id); |
267 DCHECK_EQ(mouseEvent.pointerProperties().pointerType, | 267 DCHECK_EQ(mouseEvent.pointerProperties().pointerType, |
268 coalescedMouseEvent.pointerProperties().pointerType); | 268 coalescedMouseEvent.pointerProperties().pointerType); |
269 PointerEventInit coalescedEventInit = pointerEventInit; | 269 PointerEventInit coalescedEventInit = pointerEventInit; |
270 updateMousePointerEventInit(coalescedMouseEvent, view, &coalescedEventInit); | 270 updateMousePointerEventInit(coalescedMouseEvent, view, &coalescedEventInit); |
271 coalescedPointerEvents.append( | 271 coalescedPointerEvents.push_back( |
272 PointerEvent::create(pointerEventName, coalescedEventInit)); | 272 PointerEvent::create(pointerEventName, coalescedEventInit)); |
273 } | 273 } |
274 pointerEventInit.setCoalescedEvents(coalescedPointerEvents); | 274 pointerEventInit.setCoalescedEvents(coalescedPointerEvents); |
275 | 275 |
276 return PointerEvent::create(pointerEventName, pointerEventInit); | 276 return PointerEvent::create(pointerEventName, pointerEventInit); |
277 } | 277 } |
278 | 278 |
279 PointerEvent* PointerEventFactory::create( | 279 PointerEvent* PointerEventFactory::create( |
280 const PlatformTouchPoint& touchPoint, | 280 const PlatformTouchPoint& touchPoint, |
281 const Vector<PlatformTouchPoint>& coalescedPoints, | 281 const Vector<PlatformTouchPoint>& coalescedPoints, |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 HeapVector<Member<PointerEvent>> coalescedPointerEvents; | 314 HeapVector<Member<PointerEvent>> coalescedPointerEvents; |
315 for (const auto& coalescedTouchPoint : coalescedPoints) { | 315 for (const auto& coalescedTouchPoint : coalescedPoints) { |
316 DCHECK_EQ(touchPoint.state(), coalescedTouchPoint.state()); | 316 DCHECK_EQ(touchPoint.state(), coalescedTouchPoint.state()); |
317 DCHECK_EQ(touchPoint.pointerProperties().id, | 317 DCHECK_EQ(touchPoint.pointerProperties().id, |
318 coalescedTouchPoint.pointerProperties().id); | 318 coalescedTouchPoint.pointerProperties().id); |
319 DCHECK_EQ(touchPoint.pointerProperties().pointerType, | 319 DCHECK_EQ(touchPoint.pointerProperties().pointerType, |
320 coalescedTouchPoint.pointerProperties().pointerType); | 320 coalescedTouchPoint.pointerProperties().pointerType); |
321 PointerEventInit coalescedEventInit = pointerEventInit; | 321 PointerEventInit coalescedEventInit = pointerEventInit; |
322 updateTouchPointerEventInit(coalescedTouchPoint, targetFrame, | 322 updateTouchPointerEventInit(coalescedTouchPoint, targetFrame, |
323 &coalescedEventInit); | 323 &coalescedEventInit); |
324 coalescedPointerEvents.append( | 324 coalescedPointerEvents.push_back( |
325 PointerEvent::create(type, coalescedEventInit)); | 325 PointerEvent::create(type, coalescedEventInit)); |
326 } | 326 } |
327 pointerEventInit.setCoalescedEvents(coalescedPointerEvents); | 327 pointerEventInit.setCoalescedEvents(coalescedPointerEvents); |
328 | 328 |
329 return PointerEvent::create(type, pointerEventInit); | 329 return PointerEvent::create(type, pointerEventInit); |
330 } | 330 } |
331 | 331 |
332 PointerEvent* PointerEventFactory::createPointerCancelEvent( | 332 PointerEvent* PointerEventFactory::createPointerCancelEvent( |
333 const int pointerId, | 333 const int pointerId, |
334 const WebPointerProperties::PointerType pointerType) { | 334 const WebPointerProperties::PointerType pointerType) { |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
470 } | 470 } |
471 | 471 |
472 Vector<int> PointerEventFactory::getPointerIdsOfType( | 472 Vector<int> PointerEventFactory::getPointerIdsOfType( |
473 WebPointerProperties::PointerType pointerType) const { | 473 WebPointerProperties::PointerType pointerType) const { |
474 Vector<int> mappedIds; | 474 Vector<int> mappedIds; |
475 | 475 |
476 for (auto iter = m_pointerIdMapping.begin(); iter != m_pointerIdMapping.end(); | 476 for (auto iter = m_pointerIdMapping.begin(); iter != m_pointerIdMapping.end(); |
477 ++iter) { | 477 ++iter) { |
478 int mappedId = iter->key; | 478 int mappedId = iter->key; |
479 if (iter->value.incomingId.pointerType() == pointerType) | 479 if (iter->value.incomingId.pointerType() == pointerType) |
480 mappedIds.append(mappedId); | 480 mappedIds.push_back(mappedId); |
481 } | 481 } |
482 | 482 |
483 // Sorting for a predictable ordering. | 483 // Sorting for a predictable ordering. |
484 std::sort(mappedIds.begin(), mappedIds.end()); | 484 std::sort(mappedIds.begin(), mappedIds.end()); |
485 return mappedIds; | 485 return mappedIds; |
486 } | 486 } |
487 | 487 |
488 bool PointerEventFactory::isPrimary(int mappedId) const { | 488 bool PointerEventFactory::isPrimary(int mappedId) const { |
489 if (!m_pointerIdMapping.contains(mappedId)) | 489 if (!m_pointerIdMapping.contains(mappedId)) |
490 return false; | 490 return false; |
(...skipping 22 matching lines...) Expand all Loading... |
513 const WebPointerProperties& properties) const { | 513 const WebPointerProperties& properties) const { |
514 if (properties.pointerType == WebPointerProperties::PointerType::Mouse) | 514 if (properties.pointerType == WebPointerProperties::PointerType::Mouse) |
515 return PointerEventFactory::s_mouseId; | 515 return PointerEventFactory::s_mouseId; |
516 IncomingId id(properties.pointerType, properties.id); | 516 IncomingId id(properties.pointerType, properties.id); |
517 if (m_pointerIncomingIdMapping.contains(id)) | 517 if (m_pointerIncomingIdMapping.contains(id)) |
518 return m_pointerIncomingIdMapping.get(id); | 518 return m_pointerIncomingIdMapping.get(id); |
519 return PointerEventFactory::s_invalidId; | 519 return PointerEventFactory::s_invalidId; |
520 } | 520 } |
521 | 521 |
522 } // namespace blink | 522 } // namespace blink |
OLD | NEW |