OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. |
3 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 3 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
4 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies) | 4 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies) |
5 * | 5 * |
6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
8 * are met: | 8 * are met: |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 3461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3472 | 3472 |
3473 // Holds the complete set of touches on the screen. | 3473 // Holds the complete set of touches on the screen. |
3474 RefPtrWillBeRawPtr<TouchList> touches = TouchList::create(); | 3474 RefPtrWillBeRawPtr<TouchList> touches = TouchList::create(); |
3475 | 3475 |
3476 // A different view on the 'touches' list above, filtered and grouped by | 3476 // A different view on the 'touches' list above, filtered and grouped by |
3477 // event target. Used for the 'targetTouches' list in the JS event. | 3477 // event target. Used for the 'targetTouches' list in the JS event. |
3478 typedef WillBeHeapHashMap<EventTarget*, RefPtrWillBeMember<TouchList> > Targ
etTouchesHeapMap; | 3478 typedef WillBeHeapHashMap<EventTarget*, RefPtrWillBeMember<TouchList> > Targ
etTouchesHeapMap; |
3479 TargetTouchesHeapMap touchesByTarget; | 3479 TargetTouchesHeapMap touchesByTarget; |
3480 | 3480 |
3481 // Array of touches per state, used to assemble the 'changedTouches' list. | 3481 // Array of touches per state, used to assemble the 'changedTouches' list. |
3482 typedef HashSet<RefPtr<EventTarget> > EventTargetSet; | 3482 typedef WillBeHeapHashSet<RefPtrWillBeMember<EventTarget> > EventTargetSet; |
3483 struct { | 3483 struct { |
3484 // The touches corresponding to the particular change state this struct | 3484 // The touches corresponding to the particular change state this struct |
3485 // instance represents. | 3485 // instance represents. |
3486 RefPtrWillBeMember<TouchList> m_touches; | 3486 RefPtrWillBeMember<TouchList> m_touches; |
3487 // Set of targets involved in m_touches. | 3487 // Set of targets involved in m_touches. |
3488 EventTargetSet m_targets; | 3488 EventTargetSet m_targets; |
3489 } changedTouches[PlatformTouchPoint::TouchStateEnd]; | 3489 } changedTouches[PlatformTouchPoint::TouchStateEnd]; |
3490 | 3490 |
3491 for (i = 0; i < points.size(); ++i) { | 3491 for (i = 0; i < points.size(); ++i) { |
3492 const PlatformTouchPoint& point = points[i]; | 3492 const PlatformTouchPoint& point = points[i]; |
3493 LayoutPoint pagePoint = documentPointForWindowPoint(m_frame, point.pos()
); | 3493 LayoutPoint pagePoint = documentPointForWindowPoint(m_frame, point.pos()
); |
3494 PlatformTouchPoint::State pointState = point.state(); | 3494 PlatformTouchPoint::State pointState = point.state(); |
3495 RefPtr<EventTarget> touchTarget; | 3495 RefPtrWillBeRawPtr<EventTarget> touchTarget = nullptr; |
3496 | 3496 |
3497 if (pointState == PlatformTouchPoint::TouchReleased || pointState == Pla
tformTouchPoint::TouchCancelled) { | 3497 if (pointState == PlatformTouchPoint::TouchReleased || pointState == Pla
tformTouchPoint::TouchCancelled) { |
3498 // The target should be the original target for this touch, so get | 3498 // The target should be the original target for this touch, so get |
3499 // it from the hashmap. As it's a release or cancel we also remove | 3499 // it from the hashmap. As it's a release or cancel we also remove |
3500 // it from the map. | 3500 // it from the map. |
3501 touchTarget = m_targetForTouchID.take(point.id()); | 3501 touchTarget = m_targetForTouchID.take(point.id()); |
3502 } else { | 3502 } else { |
3503 // No hittest is performed on move or stationary, since the target | 3503 // No hittest is performed on move or stationary, since the target |
3504 // is not allowed to change anyway. | 3504 // is not allowed to change anyway. |
3505 touchTarget = m_targetForTouchID.get(point.id()); | 3505 touchTarget = m_targetForTouchID.get(point.id()); |
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3733 unsigned EventHandler::accessKeyModifiers() | 3733 unsigned EventHandler::accessKeyModifiers() |
3734 { | 3734 { |
3735 #if OS(MACOSX) | 3735 #if OS(MACOSX) |
3736 return PlatformEvent::CtrlKey | PlatformEvent::AltKey; | 3736 return PlatformEvent::CtrlKey | PlatformEvent::AltKey; |
3737 #else | 3737 #else |
3738 return PlatformEvent::AltKey; | 3738 return PlatformEvent::AltKey; |
3739 #endif | 3739 #endif |
3740 } | 3740 } |
3741 | 3741 |
3742 } // namespace WebCore | 3742 } // namespace WebCore |
OLD | NEW |