diff options
author | Steve Block <steveblock@google.com> | 2011-05-25 19:08:45 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-06-08 13:51:31 +0100 |
commit | 2bde8e466a4451c7319e3a072d118917957d6554 (patch) | |
tree | 28f4a1b869a513e565c7760d0e6a06e7cf1fe95a /Source/WebCore/page/DragController.cpp | |
parent | 6939c99b71d9372d14a0c74a772108052e8c48c8 (diff) | |
download | external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.zip external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.gz external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.bz2 |
Merge WebKit at r82507: Initial merge by git
Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e
Diffstat (limited to 'Source/WebCore/page/DragController.cpp')
-rw-r--r-- | Source/WebCore/page/DragController.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/WebCore/page/DragController.cpp b/Source/WebCore/page/DragController.cpp index 6a4bb70..342ad19 100644 --- a/Source/WebCore/page/DragController.cpp +++ b/Source/WebCore/page/DragController.cpp @@ -353,7 +353,7 @@ DragOperation DragController::operationForLoad(DragData* dragData) { ASSERT(dragData); Document* doc = m_page->mainFrame()->documentAtPoint(dragData->clientPosition()); - if (doc && (m_didInitiateDrag || doc->isPluginDocument() || doc->inDesignMode())) + if (doc && (m_didInitiateDrag || doc->isPluginDocument() || doc->rendererIsEditable())) return DragOperationNone; return dragOperation(dragData); } @@ -371,6 +371,7 @@ static bool setSelectionToDragCaret(Frame* frame, VisibleSelection& dragCaret, R bool DragController::dispatchTextInputEventFor(Frame* innerFrame, DragData* dragData) { + ASSERT(!m_page->dragCaretController()->isNone()); VisibleSelection dragCaret(m_page->dragCaretController()->selection()); String text = dragCaret.isContentRichlyEditable() ? "" : dragData->asPlainText(innerFrame); Node* target = innerFrame->editor()->findEventTargetFrom(dragCaret); @@ -393,7 +394,7 @@ bool DragController::concludeEditDrag(DragData* dragData) Frame* innerFrame = element->ownerDocument()->frame(); ASSERT(innerFrame); - if (!dispatchTextInputEventFor(innerFrame, dragData)) + if (!m_page->dragCaretController()->isNone() && !dispatchTextInputEventFor(innerFrame, dragData)) return true; if (dragData->containsColor()) { @@ -510,7 +511,7 @@ bool DragController::canProcessDrag(DragData* dragData) if (dragData->containsFiles() && asFileInput(result.innerNonSharedNode())) return true; - if (!result.innerNonSharedNode()->isContentEditable()) + if (!result.innerNonSharedNode()->rendererIsEditable()) return false; if (m_didInitiateDrag && m_documentUnderMouse == m_dragInitiator && result.isSelected()) |