diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-02-08 12:06:30 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-02-08 12:06:30 +0100 |
commit | 44cd9f2a915a4879371c5e0b059acc3e5a2378b0 (patch) | |
tree | 8cb1a4758b16d9caae55f525b73f5fca3824b4f7 /editor/libeditor/DeleteRangeTransaction.cpp | |
parent | f8d1830b530cd553d788b3579d41725d35c4da7f (diff) | |
parent | b62fce0dc0c77a5788c331db32b3996e4020e2a5 (diff) | |
download | UXP-44cd9f2a915a4879371c5e0b059acc3e5a2378b0.tar UXP-44cd9f2a915a4879371c5e0b059acc3e5a2378b0.tar.gz UXP-44cd9f2a915a4879371c5e0b059acc3e5a2378b0.tar.lz UXP-44cd9f2a915a4879371c5e0b059acc3e5a2378b0.tar.xz UXP-44cd9f2a915a4879371c5e0b059acc3e5a2378b0.zip |
Merge branch 'ported-upstream'
Diffstat (limited to 'editor/libeditor/DeleteRangeTransaction.cpp')
-rw-r--r-- | editor/libeditor/DeleteRangeTransaction.cpp | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/editor/libeditor/DeleteRangeTransaction.cpp b/editor/libeditor/DeleteRangeTransaction.cpp index 977de4873..16d2344ba 100644 --- a/editor/libeditor/DeleteRangeTransaction.cpp +++ b/editor/libeditor/DeleteRangeTransaction.cpp @@ -33,6 +33,7 @@ DeleteRangeTransaction::DeleteRangeTransaction() NS_IMPL_CYCLE_COLLECTION_INHERITED(DeleteRangeTransaction, EditAggregateTransaction, + mEditorBase, mRange) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DeleteRangeTransaction) @@ -62,7 +63,9 @@ DeleteRangeTransaction::Init(EditorBase* aEditorBase, NS_IMETHODIMP DeleteRangeTransaction::DoTransaction() { - MOZ_ASSERT(mRange && mEditorBase); + if (NS_WARN_IF(!mRange) || NS_WARN_IF(!mEditorBase)) { + return NS_ERROR_NOT_INITIALIZED; + } // build the child transactions nsCOMPtr<nsINode> startParent = mRange->GetStartParent(); @@ -111,16 +114,18 @@ DeleteRangeTransaction::DoTransaction() NS_IMETHODIMP DeleteRangeTransaction::UndoTransaction() { - MOZ_ASSERT(mRange && mEditorBase); - + if (NS_WARN_IF(!mRange) || NS_WARN_IF(!mEditorBase)) { + return NS_ERROR_NOT_INITIALIZED; + } return EditAggregateTransaction::UndoTransaction(); } NS_IMETHODIMP DeleteRangeTransaction::RedoTransaction() { - MOZ_ASSERT(mRange && mEditorBase); - + if (NS_WARN_IF(!mRange) || NS_WARN_IF(!mEditorBase)) { + return NS_ERROR_NOT_INITIALIZED; + } return EditAggregateTransaction::RedoTransaction(); } @@ -136,6 +141,10 @@ DeleteRangeTransaction::CreateTxnsToDeleteBetween(nsINode* aNode, int32_t aStartOffset, int32_t aEndOffset) { + if (NS_WARN_IF(!mEditorBase)) { + return NS_ERROR_NOT_INITIALIZED; + } + // see what kind of node we have if (aNode->IsNodeOfType(nsINode::eDATA_NODE)) { // if the node is a chardata node, then delete chardata content @@ -185,6 +194,10 @@ DeleteRangeTransaction::CreateTxnsToDeleteContent(nsINode* aNode, int32_t aOffset, nsIEditor::EDirection aAction) { + if (NS_WARN_IF(!mEditorBase)) { + return NS_ERROR_NOT_INITIALIZED; + } + // see what kind of node we have if (aNode->IsNodeOfType(nsINode::eDATA_NODE)) { // if the node is a chardata node, then delete chardata content @@ -217,6 +230,10 @@ DeleteRangeTransaction::CreateTxnsToDeleteContent(nsINode* aNode, nsresult DeleteRangeTransaction::CreateTxnsToDeleteNodesBetween() { + if (NS_WARN_IF(!mEditorBase)) { + return NS_ERROR_NOT_INITIALIZED; + } + nsCOMPtr<nsIContentIterator> iter = NS_NewContentSubtreeIterator(); nsresult rv = iter->Init(mRange); |