| Index: Source/core/editing/ReplaceSelectionCommand.cpp
|
| diff --git a/Source/core/editing/ReplaceSelectionCommand.cpp b/Source/core/editing/ReplaceSelectionCommand.cpp
|
| index da4ecdd787cbc53a7084e924db55d460658ebd63..44eda01792fad2db43439b4bd9912b63900c5adb 100644
|
| --- a/Source/core/editing/ReplaceSelectionCommand.cpp
|
| +++ b/Source/core/editing/ReplaceSelectionCommand.cpp
|
| @@ -245,7 +245,8 @@ void ReplacementFragment::insertNodeBefore(PassRefPtr<Node> node, Node* refNode)
|
|
|
| PassRefPtr<Element> ReplacementFragment::insertFragmentForTestRendering(Node* rootEditableElement)
|
| {
|
| - RefPtr<Element> holder = createDefaultParagraphElement(m_document.get());
|
| + ASSERT(m_document);
|
| + RefPtr<Element> holder = createDefaultParagraphElement(*m_document.get());
|
|
|
| holder->appendChild(m_fragment);
|
| rootEditableElement->appendChild(holder.get());
|
| @@ -818,7 +819,7 @@ void ReplaceSelectionCommand::mergeEndIfNeeded()
|
| // Merging forward could result in deleting the destination anchor node.
|
| // To avoid this, we add a placeholder node before the start of the paragraph.
|
| if (endOfParagraph(startOfParagraphToMove) == destination) {
|
| - RefPtr<Node> placeholder = createBreakElement(&document());
|
| + RefPtr<Node> placeholder = createBreakElement(document());
|
| insertNodeBefore(placeholder, startOfParagraphToMove.deepEquivalent().deprecatedNode());
|
| destination = VisiblePosition(positionBeforeNode(placeholder.get()));
|
| }
|
| @@ -1115,7 +1116,7 @@ void ReplaceSelectionCommand::doApply()
|
| // We inserted before the startBlock to prevent nesting, and the content before the startBlock wasn't in its own block and
|
| // didn't have a br after it, so the inserted content ended up in the same paragraph.
|
| if (startBlock && insertionPos.deprecatedNode() == startBlock->parentNode() && (unsigned)insertionPos.deprecatedEditingOffset() < startBlock->nodeIndex() && !isStartOfParagraph(startOfInsertedContent))
|
| - insertNodeAt(createBreakElement(&document()).get(), startOfInsertedContent.deepEquivalent());
|
| + insertNodeAt(createBreakElement(document()).get(), startOfInsertedContent.deepEquivalent());
|
|
|
| if (endBR && (plainTextFragment || shouldRemoveEndBR(endBR, originalVisPosBeforeEndBR))) {
|
| RefPtr<Node> parent = endBR->parentNode();
|
| @@ -1150,7 +1151,7 @@ void ReplaceSelectionCommand::doApply()
|
| // We insert a placeholder before the newly inserted content to avoid being merged into the inline.
|
| Node* destinationNode = destination.deepEquivalent().deprecatedNode();
|
| if (m_shouldMergeEnd && destinationNode != enclosingInline(destinationNode) && enclosingInline(destinationNode)->nextSibling())
|
| - insertNodeBefore(createBreakElement(&document()), refNode.get());
|
| + insertNodeBefore(createBreakElement(document()), refNode.get());
|
|
|
| // Merging the the first paragraph of inserted content with the content that came
|
| // before the selection that was pasted into would also move content after
|
| @@ -1161,7 +1162,7 @@ void ReplaceSelectionCommand::doApply()
|
| // comes after and prevent that from happening.
|
| VisiblePosition endOfInsertedContent = positionAtEndOfInsertedContent();
|
| if (startOfParagraph(endOfInsertedContent) == startOfParagraphToMove) {
|
| - insertNodeAt(createBreakElement(&document()).get(), endOfInsertedContent.deepEquivalent());
|
| + insertNodeAt(createBreakElement(document()).get(), endOfInsertedContent.deepEquivalent());
|
| // Mutation events (bug 22634) triggered by inserting the <br> might have removed the content we're about to move
|
| if (!startOfParagraphToMove.deepEquivalent().anchorNode()->inDocument())
|
| return;
|
| @@ -1185,7 +1186,7 @@ void ReplaceSelectionCommand::doApply()
|
| setEndingSelection(endOfInsertedContent);
|
| Node* enclosingNode = enclosingBlock(endOfInsertedContent.deepEquivalent().deprecatedNode());
|
| if (isListItem(enclosingNode)) {
|
| - RefPtr<Node> newListItem = createListItemElement(&document());
|
| + RefPtr<Node> newListItem = createListItemElement(document());
|
| insertNodeAfter(newListItem, enclosingNode);
|
| setEndingSelection(VisiblePosition(firstPositionInNode(newListItem.get())));
|
| } else {
|
|
|