| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007, 2009, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2009, 2010 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2008 Google Inc. | 3 * Copyright (C) 2008 Google Inc. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 { | 236 { |
| 237 ASSERT(dragData); | 237 ASSERT(dragData); |
| 238 m_documentUnderMouse = m_page->deprecatedLocalMainFrame()->documentAtPoint(d
ragData->clientPosition()); | 238 m_documentUnderMouse = m_page->deprecatedLocalMainFrame()->documentAtPoint(d
ragData->clientPosition()); |
| 239 if ((m_dragDestinationAction & DragDestinationActionDHTML) && m_documentIsHa
ndlingDrag) { | 239 if ((m_dragDestinationAction & DragDestinationActionDHTML) && m_documentIsHa
ndlingDrag) { |
| 240 RefPtrWillBeRawPtr<LocalFrame> mainFrame = m_page->deprecatedLocalMainFr
ame(); | 240 RefPtrWillBeRawPtr<LocalFrame> mainFrame = m_page->deprecatedLocalMainFr
ame(); |
| 241 bool preventedDefault = false; | 241 bool preventedDefault = false; |
| 242 if (mainFrame->view()) { | 242 if (mainFrame->view()) { |
| 243 // Sending an event can result in the destruction of the view and pa
rt. | 243 // Sending an event can result in the destruction of the view and pa
rt. |
| 244 DataTransfer* dataTransfer = createDraggingDataTransfer(DataTransfer
Readable, dragData); | 244 DataTransfer* dataTransfer = createDraggingDataTransfer(DataTransfer
Readable, dragData); |
| 245 dataTransfer->setSourceOperation(dragData->draggingSourceOperationMa
sk()); | 245 dataTransfer->setSourceOperation(dragData->draggingSourceOperationMa
sk()); |
| 246 preventedDefault = mainFrame->eventHandler().performDragAndDrop(crea
teMouseEvent(dragData), dataTransfer); | 246 preventedDefault = mainFrame->eventHandler().performDragAndDrop(crea
teMouseEvent(dragData), dataTransfer) != WebInputEventResult::NotHandled; |
| 247 dataTransfer->setAccessPolicy(DataTransferNumb); // Invalidate clipb
oard here for security | 247 dataTransfer->setAccessPolicy(DataTransferNumb); // Invalidate clipb
oard here for security |
| 248 } | 248 } |
| 249 if (preventedDefault) { | 249 if (preventedDefault) { |
| 250 m_documentUnderMouse = nullptr; | 250 m_documentUnderMouse = nullptr; |
| 251 cancelDrag(); | 251 cancelDrag(); |
| 252 return true; | 252 return true; |
| 253 } | 253 } |
| 254 } | 254 } |
| 255 | 255 |
| 256 if ((m_dragDestinationAction & DragDestinationActionEdit) && concludeEditDra
g(dragData)) { | 256 if ((m_dragDestinationAction & DragDestinationActionEdit) && concludeEditDra
g(dragData)) { |
| (...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 595 if (!mainFrame->view()) | 595 if (!mainFrame->view()) |
| 596 return false; | 596 return false; |
| 597 | 597 |
| 598 RefPtrWillBeRawPtr<FrameView> viewProtector(mainFrame->view()); | 598 RefPtrWillBeRawPtr<FrameView> viewProtector(mainFrame->view()); |
| 599 DataTransferAccessPolicy policy = m_documentUnderMouse->securityOrigin()->is
Local() ? DataTransferReadable : DataTransferTypesReadable; | 599 DataTransferAccessPolicy policy = m_documentUnderMouse->securityOrigin()->is
Local() ? DataTransferReadable : DataTransferTypesReadable; |
| 600 DataTransfer* dataTransfer = createDraggingDataTransfer(policy, dragData); | 600 DataTransfer* dataTransfer = createDraggingDataTransfer(policy, dragData); |
| 601 DragOperation srcOpMask = dragData->draggingSourceOperationMask(); | 601 DragOperation srcOpMask = dragData->draggingSourceOperationMask(); |
| 602 dataTransfer->setSourceOperation(srcOpMask); | 602 dataTransfer->setSourceOperation(srcOpMask); |
| 603 | 603 |
| 604 PlatformMouseEvent event = createMouseEvent(dragData); | 604 PlatformMouseEvent event = createMouseEvent(dragData); |
| 605 if (!mainFrame->eventHandler().updateDragAndDrop(event, dataTransfer)) { | 605 if (mainFrame->eventHandler().updateDragAndDrop(event, dataTransfer) == WebI
nputEventResult::NotHandled) { |
| 606 dataTransfer->setAccessPolicy(DataTransferNumb); // invalidate clipboard
here for security | 606 dataTransfer->setAccessPolicy(DataTransferNumb); // invalidate clipboard
here for security |
| 607 return false; | 607 return false; |
| 608 } | 608 } |
| 609 | 609 |
| 610 operation = dataTransfer->destinationOperation(); | 610 operation = dataTransfer->destinationOperation(); |
| 611 if (dataTransfer->dropEffectIsUninitialized()) { | 611 if (dataTransfer->dropEffectIsUninitialized()) { |
| 612 operation = defaultOperationForDrag(srcOpMask); | 612 operation = defaultOperationForDrag(srcOpMask); |
| 613 } else if (!(srcOpMask & operation)) { | 613 } else if (!(srcOpMask & operation)) { |
| 614 // The element picked an operation which is not supported by the source | 614 // The element picked an operation which is not supported by the source |
| 615 operation = DragOperationNone; | 615 operation = DragOperationNone; |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 961 | 961 |
| 962 DEFINE_TRACE(DragController) | 962 DEFINE_TRACE(DragController) |
| 963 { | 963 { |
| 964 visitor->trace(m_page); | 964 visitor->trace(m_page); |
| 965 visitor->trace(m_documentUnderMouse); | 965 visitor->trace(m_documentUnderMouse); |
| 966 visitor->trace(m_dragInitiator); | 966 visitor->trace(m_dragInitiator); |
| 967 visitor->trace(m_fileInputElementUnderMouse); | 967 visitor->trace(m_fileInputElementUnderMouse); |
| 968 } | 968 } |
| 969 | 969 |
| 970 } // namespace blink | 970 } // namespace blink |
| OLD | NEW |