- Revision
- 154238
- Author
- [email protected]
- Date
- 2013-08-17 11:05:04 -0700 (Sat, 17 Aug 2013)
Log Message
<https://webkit.org/b/119954> Page::dragCaretController() should return a reference.
Reviewed by Antti Koivisto.
Page::m_dragCaretController is never null.
* dom/Document.cpp:
(WebCore::Document::nodeChildrenWillBeRemoved):
(WebCore::Document::nodeWillBeRemoved):
* page/DragController.cpp:
(WebCore::DragController::cancelDrag):
(WebCore::DragController::dragEnded):
(WebCore::DragController::tryDocumentDrag):
(WebCore::DragController::dispatchTextInputEventFor):
(WebCore::DragController::concludeEditDrag):
(WebCore::DragController::placeDragCaret):
* page/Page.h:
(WebCore::Page::dragCaretController):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintCaret):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (154237 => 154238)
--- trunk/Source/WebCore/ChangeLog 2013-08-17 17:29:37 UTC (rev 154237)
+++ trunk/Source/WebCore/ChangeLog 2013-08-17 18:05:04 UTC (rev 154238)
@@ -1,5 +1,28 @@
2013-08-17 Andreas Kling <[email protected]>
+ <https://webkit.org/b/119954> Page::dragCaretController() should return a reference.
+
+ Reviewed by Antti Koivisto.
+
+ Page::m_dragCaretController is never null.
+
+ * dom/Document.cpp:
+ (WebCore::Document::nodeChildrenWillBeRemoved):
+ (WebCore::Document::nodeWillBeRemoved):
+ * page/DragController.cpp:
+ (WebCore::DragController::cancelDrag):
+ (WebCore::DragController::dragEnded):
+ (WebCore::DragController::tryDocumentDrag):
+ (WebCore::DragController::dispatchTextInputEventFor):
+ (WebCore::DragController::concludeEditDrag):
+ (WebCore::DragController::placeDragCaret):
+ * page/Page.h:
+ (WebCore::Page::dragCaretController):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintCaret):
+
+2013-08-17 Andreas Kling <[email protected]>
+
<https://webkit.org/b/119952> Simplify Editor's back-pointer to the Frame.
Reviewed by Antti Koivisto.
Modified: trunk/Source/WebCore/dom/Document.cpp (154237 => 154238)
--- trunk/Source/WebCore/dom/Document.cpp 2013-08-17 17:29:37 UTC (rev 154237)
+++ trunk/Source/WebCore/dom/Document.cpp 2013-08-17 18:05:04 UTC (rev 154238)
@@ -3464,7 +3464,7 @@
for (Node* n = container->firstChild(); n; n = n->nextSibling()) {
frame->eventHandler().nodeWillBeRemoved(n);
frame->selection()->nodeWillBeRemoved(n);
- frame->page()->dragCaretController()->nodeWillBeRemoved(n);
+ frame->page()->dragCaretController().nodeWillBeRemoved(n);
}
}
}
@@ -3484,7 +3484,7 @@
if (Frame* frame = this->frame()) {
frame->eventHandler().nodeWillBeRemoved(n);
frame->selection()->nodeWillBeRemoved(n);
- frame->page()->dragCaretController()->nodeWillBeRemoved(n);
+ frame->page()->dragCaretController().nodeWillBeRemoved(n);
}
}
Modified: trunk/Source/WebCore/page/DragController.cpp (154237 => 154238)
--- trunk/Source/WebCore/page/DragController.cpp 2013-08-17 17:29:37 UTC (rev 154237)
+++ trunk/Source/WebCore/page/DragController.cpp 2013-08-17 18:05:04 UTC (rev 154238)
@@ -172,14 +172,14 @@
// FIXME: This method is poorly named. We're just clearing the selection from the document this drag is exiting.
void DragController::cancelDrag()
{
- m_page->dragCaretController()->clear();
+ m_page->dragCaretController().clear();
}
void DragController::dragEnded()
{
m_dragInitiator = 0;
m_didInitiateDrag = false;
- m_page->dragCaretController()->clear();
+ m_page->dragCaretController().clear();
m_client->dragEnded();
}
@@ -340,7 +340,7 @@
return false;
if (isHandlingDrag) {
- m_page->dragCaretController()->clear();
+ m_page->dragCaretController().clear();
return true;
}
@@ -363,7 +363,7 @@
}
if (!m_fileInputElementUnderMouse)
- m_page->dragCaretController()->setCaretPosition(m_documentUnderMouse->frame()->visiblePositionForPoint(point));
+ m_page->dragCaretController().setCaretPosition(m_documentUnderMouse->frame()->visiblePositionForPoint(point));
Frame* innerFrame = element->document()->frame();
dragSession.operation = dragIsMove(innerFrame->selection(), dragData) ? DragOperationMove : DragOperationCopy;
@@ -394,7 +394,7 @@
}
// We are not over an editable region. Make sure we're clearing any prior drag cursor.
- m_page->dragCaretController()->clear();
+ m_page->dragCaretController().clear();
if (m_fileInputElementUnderMouse)
m_fileInputElementUnderMouse->setCanReceiveDroppedFiles(false);
m_fileInputElementUnderMouse = 0;
@@ -440,9 +440,9 @@
bool DragController::dispatchTextInputEventFor(Frame* innerFrame, DragData* dragData)
{
- ASSERT(m_page->dragCaretController()->hasCaret());
- String text = m_page->dragCaretController()->isContentRichlyEditable() ? "" : dragData->asPlainText(innerFrame);
- Node* target = innerFrame->editor().findEventTargetFrom(m_page->dragCaretController()->caretPosition());
+ ASSERT(m_page->dragCaretController().hasCaret());
+ String text = m_page->dragCaretController().isContentRichlyEditable() ? "" : dragData->asPlainText(innerFrame);
+ Node* target = innerFrame->editor().findEventTargetFrom(m_page->dragCaretController().caretPosition());
return target->dispatchEvent(TextEvent::createForDrop(innerFrame->document()->domWindow(), text), IGNORE_EXCEPTION);
}
@@ -466,7 +466,7 @@
RefPtr<Frame> innerFrame = element->document()->frame();
ASSERT(innerFrame);
- if (m_page->dragCaretController()->hasCaret() && !dispatchTextInputEventFor(innerFrame.get(), dragData))
+ if (m_page->dragCaretController().hasCaret() && !dispatchTextInputEventFor(innerFrame.get(), dragData))
return true;
if (dragData->containsColor()) {
@@ -494,12 +494,12 @@
}
if (!m_page->dragController().canProcessDrag(dragData)) {
- m_page->dragCaretController()->clear();
+ m_page->dragCaretController().clear();
return false;
}
- VisibleSelection dragCaret = m_page->dragCaretController()->caretPosition();
- m_page->dragCaretController()->clear();
+ VisibleSelection dragCaret = m_page->dragCaretController().caretPosition();
+ m_page->dragCaretController().clear();
RefPtr<Range> range = dragCaret.toNormalizedRange();
RefPtr<Element> rootEditableElement = innerFrame->selection()->rootEditableElement();
@@ -941,7 +941,7 @@
return;
IntPoint framePoint = frameView->windowToContents(windowPoint);
- m_page->dragCaretController()->setCaretPosition(frame->visiblePositionForPoint(framePoint));
+ m_page->dragCaretController().setCaretPosition(frame->visiblePositionForPoint(framePoint));
}
} // namespace WebCore
Modified: trunk/Source/WebCore/page/Page.h (154237 => 154238)
--- trunk/Source/WebCore/page/Page.h 2013-08-17 17:29:37 UTC (rev 154237)
+++ trunk/Source/WebCore/page/Page.h 2013-08-17 18:05:04 UTC (rev 154238)
@@ -185,7 +185,7 @@
int subframeCount() const { checkSubframeCountConsistency(); return m_subframeCount; }
Chrome& chrome() const { return *m_chrome; }
- DragCaretController* dragCaretController() const { return m_dragCaretController.get(); }
+ DragCaretController& dragCaretController() const { return *m_dragCaretController; }
#if ENABLE(DRAG_SUPPORT)
DragController& dragController() const { return *m_dragController; }
#endif
@@ -440,10 +440,10 @@
void unthrottleTimers();
const OwnPtr<Chrome> m_chrome;
- OwnPtr<DragCaretController> m_dragCaretController;
+ const OwnPtr<DragCaretController> m_dragCaretController;
#if ENABLE(DRAG_SUPPORT)
- OwnPtr<DragController> m_dragController;
+ const OwnPtr<DragController> m_dragController;
#endif
const OwnPtr<FocusController> m_focusController;
#if ENABLE(CONTEXT_MENUS)
Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (154237 => 154238)
--- trunk/Source/WebCore/rendering/RenderBlock.cpp 2013-08-17 17:29:37 UTC (rev 154237)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp 2013-08-17 18:05:04 UTC (rev 154238)
@@ -3279,15 +3279,15 @@
caretPainter = frame()->selection()->caretRenderer();
isContentEditable = frame()->selection()->rendererIsEditable();
} else {
- caretPainter = frame()->page()->dragCaretController()->caretRenderer();
- isContentEditable = frame()->page()->dragCaretController()->isContentEditable();
+ caretPainter = frame()->page()->dragCaretController().caretRenderer();
+ isContentEditable = frame()->page()->dragCaretController().isContentEditable();
}
if (caretPainter == this && (isContentEditable || caretBrowsing)) {
if (type == CursorCaret)
frame()->selection()->paintCaret(paintInfo.context, paintOffset, paintInfo.rect);
else
- frame()->page()->dragCaretController()->paintDragCaret(frame(), paintInfo.context, paintOffset, paintInfo.rect);
+ frame()->page()->dragCaretController().paintDragCaret(frame(), paintInfo.context, paintOffset, paintInfo.rect);
}
}