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 3188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3199 } | 3199 } |
3200 } | 3200 } |
3201 | 3201 |
3202 void EventHandler::dragSourceEndedAt(const PlatformMouseEvent& event, DragOperat
ion operation) | 3202 void EventHandler::dragSourceEndedAt(const PlatformMouseEvent& event, DragOperat
ion operation) |
3203 { | 3203 { |
3204 // Send a hit test request so that RenderLayer gets a chance to update the :
hover and :active pseudoclasses. | 3204 // Send a hit test request so that RenderLayer gets a chance to update the :
hover and :active pseudoclasses. |
3205 HitTestRequest request(HitTestRequest::Release); | 3205 HitTestRequest request(HitTestRequest::Release); |
3206 prepareMouseEvent(request, event); | 3206 prepareMouseEvent(request, event); |
3207 | 3207 |
3208 if (dragState().m_dragSrc) { | 3208 if (dragState().m_dragSrc) { |
3209 // If an embedder tries to end a drag operation, but the page | |
3210 // has initiated another from other input events received, | |
3211 // we're in a tight corner. While Blink doesn't pretend to | |
3212 // support concurrent drag operations on a page, it should try | |
3213 // to gracefully handle any such overlapping drag operation | |
3214 // attempts, whatever their cause/source. | |
3215 // | |
3216 // Hence, if the drag state here has a source, but not yet | |
3217 // any drag data, this represents a drag operation just | |
3218 // getting under way. The embedder is thus likely signalling | |
3219 // the end of another, earlier drag operation here, which it | |
3220 // is preferable to silently ignore. | |
3221 // (cf. http://crbug.com/445308) | |
3222 if (!dragState().m_dragDataTransfer) | |
3223 return; | |
3224 | |
3225 dragState().m_dragDataTransfer->setDestinationOperation(operation); | 3209 dragState().m_dragDataTransfer->setDestinationOperation(operation); |
3226 | 3210 // for now we don't care if event handler cancels default behavior, sinc
e there is none |
3227 // For now we don't care if the event handler cancels the default | |
3228 // behavior, as there is none. | |
3229 dispatchDragSrcEvent(EventTypeNames::dragend, event); | 3211 dispatchDragSrcEvent(EventTypeNames::dragend, event); |
3230 } | 3212 } |
3231 clearDragDataTransfer(); | 3213 clearDragDataTransfer(); |
3232 dragState().m_dragSrc = nullptr; | 3214 dragState().m_dragSrc = nullptr; |
3233 // In case the drag was ended due to an escape key press we need to ensure | 3215 // In case the drag was ended due to an escape key press we need to ensure |
3234 // that consecutive mousemove events don't reinitiate the drag and drop. | 3216 // that consecutive mousemove events don't reinitiate the drag and drop. |
3235 m_mouseDownMayStartDrag = false; | 3217 m_mouseDownMayStartDrag = false; |
3236 } | 3218 } |
3237 | 3219 |
3238 void EventHandler::updateDragStateAfterEditDragIfNeeded(Element* rootEditableEle
ment) | 3220 void EventHandler::updateDragStateAfterEditDragIfNeeded(Element* rootEditableEle
ment) |
(...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3907 unsigned EventHandler::accessKeyModifiers() | 3889 unsigned EventHandler::accessKeyModifiers() |
3908 { | 3890 { |
3909 #if OS(MACOSX) | 3891 #if OS(MACOSX) |
3910 return PlatformEvent::CtrlKey | PlatformEvent::AltKey; | 3892 return PlatformEvent::CtrlKey | PlatformEvent::AltKey; |
3911 #else | 3893 #else |
3912 return PlatformEvent::AltKey; | 3894 return PlatformEvent::AltKey; |
3913 #endif | 3895 #endif |
3914 } | 3896 } |
3915 | 3897 |
3916 } // namespace blink | 3898 } // namespace blink |
OLD | NEW |