| 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 2647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2658 switch (type) { | 2658 switch (type) { |
| 2659 case PlatformEvent::GestureShowPress: | 2659 case PlatformEvent::GestureShowPress: |
| 2660 case PlatformEvent::GestureTapUnconfirmed: | 2660 case PlatformEvent::GestureTapUnconfirmed: |
| 2661 return hitType | HitTestRequest::Active; | 2661 return hitType | HitTestRequest::Active; |
| 2662 case PlatformEvent::GestureTapDownCancel: | 2662 case PlatformEvent::GestureTapDownCancel: |
| 2663 // A TapDownCancel received when no element is active shouldn't really b
e changing hover state. | 2663 // A TapDownCancel received when no element is active shouldn't really b
e changing hover state. |
| 2664 if (!m_frame->document()->activeHoverElement()) | 2664 if (!m_frame->document()->activeHoverElement()) |
| 2665 hitType |= HitTestRequest::ReadOnly; | 2665 hitType |= HitTestRequest::ReadOnly; |
| 2666 return hitType | HitTestRequest::Release; | 2666 return hitType | HitTestRequest::Release; |
| 2667 case PlatformEvent::GestureTap: | 2667 case PlatformEvent::GestureTap: |
| 2668 return hitType | HitTestRequest::Release; | 2668 hitType |= HitTestRequest::Release; |
| 2669 // needs to clear hover on mobile optimized pages |
| 2670 if (m_frame->page()->shouldDisableDesktopWorkarounds()) |
| 2671 hitType |= HitTestRequest::Leave; |
| 2672 return hitType; |
| 2669 case PlatformEvent::GestureTapDown: | 2673 case PlatformEvent::GestureTapDown: |
| 2670 case PlatformEvent::GestureLongPress: | 2674 case PlatformEvent::GestureLongPress: |
| 2671 case PlatformEvent::GestureLongTap: | 2675 case PlatformEvent::GestureLongTap: |
| 2672 case PlatformEvent::GestureTwoFingerTap: | 2676 case PlatformEvent::GestureTwoFingerTap: |
| 2673 // FIXME: Shouldn't LongTap and TwoFingerTap clear the Active state? | 2677 // FIXME: Shouldn't LongTap and TwoFingerTap clear the Active state? |
| 2674 return hitType | HitTestRequest::Active | HitTestRequest::ReadOnly; | 2678 return hitType | HitTestRequest::Active | HitTestRequest::ReadOnly; |
| 2675 default: | 2679 default: |
| 2676 ASSERT_NOT_REACHED(); | 2680 ASSERT_NOT_REACHED(); |
| 2677 return hitType | HitTestRequest::Active | HitTestRequest::ReadOnly; | 2681 return hitType | HitTestRequest::Active | HitTestRequest::ReadOnly; |
| 2678 } | 2682 } |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2953 | 2957 |
| 2954 void EventHandler::activeIntervalTimerFired(Timer<EventHandler>*) | 2958 void EventHandler::activeIntervalTimerFired(Timer<EventHandler>*) |
| 2955 { | 2959 { |
| 2956 m_activeIntervalTimer.stop(); | 2960 m_activeIntervalTimer.stop(); |
| 2957 | 2961 |
| 2958 if (m_frame | 2962 if (m_frame |
| 2959 && m_frame->document() | 2963 && m_frame->document() |
| 2960 && m_lastDeferredTapElement) { | 2964 && m_lastDeferredTapElement) { |
| 2961 // FIXME: Enable condition when http://crbug.com/226842 lands | 2965 // FIXME: Enable condition when http://crbug.com/226842 lands |
| 2962 // m_lastDeferredTapElement.get() == m_frame->document()->activeElement(
) | 2966 // m_lastDeferredTapElement.get() == m_frame->document()->activeElement(
) |
| 2963 HitTestRequest request(HitTestRequest::TouchEvent | HitTestRequest::Rele
ase); | 2967 |
| 2968 HitTestRequest::HitTestRequestType hitType = HitTestRequest::TouchEvent
| HitTestRequest::Release; |
| 2969 // This is delayed updating of hover/active states for GestureTap. |
| 2970 // So, this needs to clear hover on mobile optimized pages |
| 2971 if (m_frame->page()->shouldDisableDesktopWorkarounds()) |
| 2972 hitType |= HitTestRequest::Leave; |
| 2973 |
| 2974 HitTestRequest request(hitType); |
| 2964 m_frame->document()->updateHoverActiveState(request, m_lastDeferredTapEl
ement.get()); | 2975 m_frame->document()->updateHoverActiveState(request, m_lastDeferredTapEl
ement.get()); |
| 2965 } | 2976 } |
| 2966 m_lastDeferredTapElement = nullptr; | 2977 m_lastDeferredTapElement = nullptr; |
| 2967 } | 2978 } |
| 2968 | 2979 |
| 2969 void EventHandler::notifyElementActivated() | 2980 void EventHandler::notifyElementActivated() |
| 2970 { | 2981 { |
| 2971 // Since another element has been set to active, stop current timer and clea
r reference. | 2982 // Since another element has been set to active, stop current timer and clea
r reference. |
| 2972 if (m_activeIntervalTimer.isActive()) | 2983 if (m_activeIntervalTimer.isActive()) |
| 2973 m_activeIntervalTimer.stop(); | 2984 m_activeIntervalTimer.stop(); |
| (...skipping 897 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3871 unsigned EventHandler::accessKeyModifiers() | 3882 unsigned EventHandler::accessKeyModifiers() |
| 3872 { | 3883 { |
| 3873 #if OS(MACOSX) | 3884 #if OS(MACOSX) |
| 3874 return PlatformEvent::CtrlKey | PlatformEvent::AltKey; | 3885 return PlatformEvent::CtrlKey | PlatformEvent::AltKey; |
| 3875 #else | 3886 #else |
| 3876 return PlatformEvent::AltKey; | 3887 return PlatformEvent::AltKey; |
| 3877 #endif | 3888 #endif |
| 3878 } | 3889 } |
| 3879 | 3890 |
| 3880 } // namespace blink | 3891 } // namespace blink |
| OLD | NEW |