Index: Source/core/editing/Editor.cpp |
diff --git a/Source/core/editing/Editor.cpp b/Source/core/editing/Editor.cpp |
index 8ba1b9eccb5fcf34505ef931acf1508f7a66efd2..f4ed492f2d75e16c136c62e4fdd58a1508026924 100644 |
--- a/Source/core/editing/Editor.cpp |
+++ b/Source/core/editing/Editor.cpp |
@@ -302,7 +302,8 @@ bool Editor::deleteWithDirection(SelectionDirection direction, TextGranularity g |
if (m_frame->selection()->isRange()) { |
if (isTypingAction) { |
- TypingCommand::deleteKeyPressed(m_frame->document(), canSmartCopyOrDelete() ? TypingCommand::SmartDelete : 0, granularity); |
+ ASSERT(m_frame->document()); |
+ TypingCommand::deleteKeyPressed(*m_frame->document(), canSmartCopyOrDelete() ? TypingCommand::SmartDelete : 0, granularity); |
revealSelectionAfterEditingOperation(); |
} else { |
if (killRing) |
@@ -319,11 +320,13 @@ bool Editor::deleteWithDirection(SelectionDirection direction, TextGranularity g |
switch (direction) { |
case DirectionForward: |
case DirectionRight: |
- TypingCommand::forwardDeleteKeyPressed(m_frame->document(), options, granularity); |
+ ASSERT(m_frame->document()); |
+ TypingCommand::forwardDeleteKeyPressed(*m_frame->document(), options, granularity); |
break; |
case DirectionBackward: |
case DirectionLeft: |
- TypingCommand::deleteKeyPressed(m_frame->document(), options, granularity); |
+ ASSERT(m_frame->document()); |
+ TypingCommand::deleteKeyPressed(*m_frame->document(), options, granularity); |
break; |
} |
revealSelectionAfterEditingOperation(); |
@@ -343,7 +346,8 @@ void Editor::deleteSelectionWithSmartDelete(bool smartDelete) |
if (m_frame->selection()->isNone()) |
return; |
- applyCommand(DeleteSelectionCommand::create(m_frame->document(), smartDelete)); |
+ ASSERT(m_frame->document()); |
+ applyCommand(DeleteSelectionCommand::create(*m_frame->document(), smartDelete)); |
} |
void Editor::pasteAsPlainText(const String& pastingText, bool smartReplace) |
@@ -411,7 +415,8 @@ void Editor::replaceSelectionWithFragment(PassRefPtr<DocumentFragment> fragment, |
options |= ReplaceSelectionCommand::SmartReplace; |
if (matchStyle) |
options |= ReplaceSelectionCommand::MatchStyle; |
- applyCommand(ReplaceSelectionCommand::create(m_frame->document(), fragment, options, EditActionPaste)); |
+ ASSERT(m_frame->document()); |
+ applyCommand(ReplaceSelectionCommand::create(*m_frame->document(), fragment, options, EditActionPaste)); |
revealSelectionAfterEditingOperation(); |
if (m_frame->selection()->isInPasswordField() || !isContinuousSpellCheckingEnabled()) |
@@ -526,7 +531,8 @@ PassRefPtr<Node> Editor::insertOrderedList() |
if (!canEditRichly()) |
return 0; |
- RefPtr<Node> newList = InsertListCommand::insertList(m_frame->document(), InsertListCommand::OrderedList); |
+ ASSERT(m_frame->document()); |
+ RefPtr<Node> newList = InsertListCommand::insertList(*m_frame->document(), InsertListCommand::OrderedList); |
revealSelectionAfterEditingOperation(); |
return newList; |
} |
@@ -536,19 +542,22 @@ PassRefPtr<Node> Editor::insertUnorderedList() |
if (!canEditRichly()) |
return 0; |
- RefPtr<Node> newList = InsertListCommand::insertList(m_frame->document(), InsertListCommand::UnorderedList); |
+ ASSERT(m_frame->document()); |
+ RefPtr<Node> newList = InsertListCommand::insertList(*m_frame->document(), InsertListCommand::UnorderedList); |
revealSelectionAfterEditingOperation(); |
return newList; |
} |
bool Editor::canIncreaseSelectionListLevel() |
{ |
- return canEditRichly() && IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel(m_frame->document()); |
+ ASSERT(m_frame->document()); |
+ return canEditRichly() && IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel(*m_frame->document()); |
} |
bool Editor::canDecreaseSelectionListLevel() |
{ |
- return canEditRichly() && DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel(m_frame->document()); |
+ ASSERT(m_frame->document()); |
+ return canEditRichly() && DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel(*m_frame->document()); |
} |
PassRefPtr<Node> Editor::increaseSelectionListLevel() |
@@ -556,7 +565,8 @@ PassRefPtr<Node> Editor::increaseSelectionListLevel() |
if (!canEditRichly() || m_frame->selection()->isNone()) |
return 0; |
- RefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevel(m_frame->document()); |
+ ASSERT(m_frame->document()); |
+ RefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevel(*m_frame->document()); |
revealSelectionAfterEditingOperation(); |
return newList; |
} |
@@ -566,7 +576,8 @@ PassRefPtr<Node> Editor::increaseSelectionListLevelOrdered() |
if (!canEditRichly() || m_frame->selection()->isNone()) |
return 0; |
- RefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevelOrdered(m_frame->document()); |
+ ASSERT(m_frame->document()); |
+ RefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevelOrdered(*m_frame->document()); |
revealSelectionAfterEditingOperation(); |
return newList.release(); |
} |
@@ -576,7 +587,8 @@ PassRefPtr<Node> Editor::increaseSelectionListLevelUnordered() |
if (!canEditRichly() || m_frame->selection()->isNone()) |
return 0; |
- RefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevelUnordered(m_frame->document()); |
+ ASSERT(m_frame->document()); |
+ RefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevelUnordered(*m_frame->document()); |
revealSelectionAfterEditingOperation(); |
return newList.release(); |
} |
@@ -586,13 +598,15 @@ void Editor::decreaseSelectionListLevel() |
if (!canEditRichly() || m_frame->selection()->isNone()) |
return; |
- DecreaseSelectionListLevelCommand::decreaseSelectionListLevel(m_frame->document()); |
+ ASSERT(m_frame->document()); |
+ DecreaseSelectionListLevelCommand::decreaseSelectionListLevel(*m_frame->document()); |
revealSelectionAfterEditingOperation(); |
} |
void Editor::removeFormattingAndStyle() |
{ |
- applyCommand(RemoveFormatCommand::create(m_frame->document())); |
+ ASSERT(m_frame->document()); |
+ applyCommand(RemoveFormatCommand::create(*m_frame->document())); |
} |
void Editor::clearLastEditCommand() |
@@ -648,8 +662,10 @@ void Editor::applyStyle(StylePropertySet* style, EditAction editingAction) |
computeAndSetTypingStyle(style, editingAction); |
break; |
case VisibleSelection::RangeSelection: |
- if (style) |
- applyCommand(ApplyStyleCommand::create(m_frame->document(), EditingStyle::create(style).get(), editingAction)); |
+ if (style) { |
+ ASSERT(m_frame->document()); |
+ applyCommand(ApplyStyleCommand::create(*m_frame->document(), EditingStyle::create(style).get(), editingAction)); |
+ } |
break; |
} |
} |
@@ -667,8 +683,10 @@ void Editor::applyParagraphStyle(StylePropertySet* style, EditAction editingActi |
break; |
case VisibleSelection::CaretSelection: |
case VisibleSelection::RangeSelection: |
- if (style) |
- applyCommand(ApplyStyleCommand::create(m_frame->document(), EditingStyle::create(style).get(), editingAction, ApplyStyleCommand::ForceBlockProperties)); |
+ if (style) { |
+ ASSERT(m_frame->document()); |
+ applyCommand(ApplyStyleCommand::create(*m_frame->document(), EditingStyle::create(style).get(), editingAction, ApplyStyleCommand::ForceBlockProperties)); |
+ } |
break; |
} |
} |
@@ -716,12 +734,14 @@ String Editor::selectionStartCSSPropertyValue(CSSPropertyID propertyID) |
void Editor::indent() |
{ |
- applyCommand(IndentOutdentCommand::create(m_frame->document(), IndentOutdentCommand::Indent)); |
+ ASSERT(m_frame->document()); |
+ applyCommand(IndentOutdentCommand::create(*m_frame->document(), IndentOutdentCommand::Indent)); |
} |
void Editor::outdent() |
{ |
- applyCommand(IndentOutdentCommand::create(m_frame->document(), IndentOutdentCommand::Outdent)); |
+ ASSERT(m_frame->document()); |
+ applyCommand(IndentOutdentCommand::create(*m_frame->document(), IndentOutdentCommand::Outdent)); |
} |
static void dispatchEditableContentChangedEvents(PassRefPtr<Element> startRoot, PassRefPtr<Element> endRoot) |
@@ -839,12 +859,13 @@ bool Editor::insertTextWithoutSendingTextEvent(const String& text, bool selectIn |
if (selection.isContentEditable()) { |
if (Node* selectionStart = selection.start().deprecatedNode()) { |
RefPtr<Document> document = &selectionStart->document(); |
+ ASSERT(document); |
// Insert the text |
TypingCommand::Options options = 0; |
if (selectInsertedText) |
options |= TypingCommand::SelectInsertedText; |
- TypingCommand::insertText(document.get(), text, selection, options, triggeringEvent && triggeringEvent->isComposition() ? TypingCommand::TextCompositionConfirm : TypingCommand::TextCompositionNone); |
+ TypingCommand::insertText(*document.get(), text, selection, options, triggeringEvent && triggeringEvent->isComposition() ? TypingCommand::TextCompositionConfirm : TypingCommand::TextCompositionNone); |
// Reveal the current selection |
if (Frame* editedFrame = document->frame()) { |
@@ -867,7 +888,8 @@ bool Editor::insertLineBreak() |
VisiblePosition caret = m_frame->selection()->selection().visibleStart(); |
bool alignToEdge = isEndOfEditableOrNonEditableContent(caret); |
- TypingCommand::insertLineBreak(m_frame->document(), 0); |
+ ASSERT(m_frame->document()); |
+ TypingCommand::insertLineBreak(*m_frame->document(), 0); |
revealSelectionAfterEditingOperation(alignToEdge ? ScrollAlignment::alignToEdgeIfNeeded : ScrollAlignment::alignCenterIfNeeded); |
return true; |
@@ -886,7 +908,8 @@ bool Editor::insertParagraphSeparator() |
VisiblePosition caret = m_frame->selection()->selection().visibleStart(); |
bool alignToEdge = isEndOfEditableOrNonEditableContent(caret); |
- TypingCommand::insertParagraphSeparator(m_frame->document(), 0); |
+ ASSERT(m_frame->document()); |
+ TypingCommand::insertParagraphSeparator(*m_frame->document(), 0); |
revealSelectionAfterEditingOperation(alignToEdge ? ScrollAlignment::alignToEdgeIfNeeded : ScrollAlignment::alignCenterIfNeeded); |
return true; |
@@ -991,7 +1014,8 @@ void Editor::simplifyMarkup(Node* startNode, Node* endNode) |
return; |
} |
- applyCommand(SimplifyMarkupCommand::create(m_frame->document(), startNode, (endNode) ? NodeTraversal::next(endNode) : 0)); |
+ ASSERT(m_frame->document()); |
+ applyCommand(SimplifyMarkupCommand::create(*m_frame->document(), startNode, (endNode) ? NodeTraversal::next(endNode) : 0)); |
} |
void Editor::copyURL(const KURL& url, const String& title) |
@@ -1893,8 +1917,10 @@ void Editor::computeAndSetTypingStyle(StylePropertySet* style, EditAction editin |
// Handle block styles, substracting these from the typing style. |
RefPtr<EditingStyle> blockStyle = typingStyle->extractAndRemoveBlockProperties(); |
- if (!blockStyle->isEmpty()) |
- applyCommand(ApplyStyleCommand::create(m_frame->document(), blockStyle.get(), editingAction)); |
+ if (!blockStyle->isEmpty()) { |
+ ASSERT(m_frame->document()); |
+ applyCommand(ApplyStyleCommand::create(*m_frame->document(), blockStyle.get(), editingAction)); |
+ } |
// Set the remaining style as the typing style. |
m_frame->selection()->setTypingStyle(typingStyle); |