Bug 1309413 part.4 Get rid of NS_ENSURE_* from SetDocumentTitleTransaction r=ehsan
authorMasayuki Nakano <masayuki@d-toybox.com>
Sat, 15 Oct 2016 00:51:48 +0900
changeset 364257 918cb92107ecc8e0bf7c8c26b8649028cb19d90d
parent 364256 d2aefe65689c1fe670389e2da3d0c092bf836721
child 364258 cd05381f28b151f9b8afb11af3f6b9366677d598
push id1369
push userjlorenzo@mozilla.com
push dateMon, 27 Feb 2017 14:59:41 +0000
treeherdermozilla-release@d75a1dba431f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersehsan
bugs1309413
milestone52.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1309413 part.4 Get rid of NS_ENSURE_* from SetDocumentTitleTransaction r=ehsan NS_ENSURE_* are deprecated. So, let's rewrite them with NS_WARN_IF(). MozReview-Commit-ID: 1lqUhfLrncJ
editor/libeditor/SetDocumentTitleTransaction.cpp
--- a/editor/libeditor/SetDocumentTitleTransaction.cpp
+++ b/editor/libeditor/SetDocumentTitleTransaction.cpp
@@ -64,42 +64,53 @@ SetDocumentTitleTransaction::RedoTransac
   // No extra work required; the DOM changes alone are enough
   return NS_OK;
 }
 
 nsresult
 SetDocumentTitleTransaction::SetDomTitle(const nsAString& aTitle)
 {
   nsCOMPtr<nsIEditor> editor = do_QueryInterface(mEditor);
-  NS_ENSURE_TRUE(editor, NS_ERROR_FAILURE);
+  if (NS_WARN_IF(!editor)) {
+    return NS_ERROR_FAILURE;
+  }
+
   nsCOMPtr<nsIDOMDocument> domDoc;
   nsresult rv = editor->GetDocument(getter_AddRefs(domDoc));
-  NS_ENSURE_TRUE(domDoc, NS_ERROR_FAILURE);
+  if (NS_WARN_IF(!domDoc)) {
+    return NS_ERROR_FAILURE;
+  }
 
   nsCOMPtr<nsIDOMNodeList> titleList;
   rv = domDoc->GetElementsByTagName(NS_LITERAL_STRING("title"),
                                     getter_AddRefs(titleList));
-  NS_ENSURE_SUCCESS(rv, rv);
+  if (NS_WARN_IF(NS_FAILED(rv))) {
+    return rv;
+  }
 
   // First assume we will NOT really do anything
   // (transaction will not be pushed on stack)
   mIsTransient = true;
 
   nsCOMPtr<nsIDOMNode> titleNode;
   if(titleList) {
     rv = titleList->Item(0, getter_AddRefs(titleNode));
-    NS_ENSURE_SUCCESS(rv, rv);
+    if (NS_WARN_IF(NS_FAILED(rv))) {
+      return rv;
+    }
+
     if (titleNode) {
       // Delete existing child textnode of title node
       // (Note: all contents under a TITLE node are always in a single text node)
       nsCOMPtr<nsIDOMNode> child;
       rv = titleNode->GetFirstChild(getter_AddRefs(child));
       if (NS_FAILED(rv)) {
         return rv;
       }
+
       if(child) {
         // Save current text as the undo value
         nsCOMPtr<nsIDOMCharacterData> textNode = do_QueryInterface(child);
         if(textNode) {
           textNode->GetData(mUndoValue);
 
           // If title text is identical to what already exists,
           // quit now (mIsTransient is now TRUE)
@@ -115,58 +126,74 @@ SetDocumentTitleTransaction::SetDomTitle
     }
   }
 
   // We didn't return above, thus we really will be changing the title
   mIsTransient = false;
 
   // Get the <HEAD> node, create a <TITLE> and insert it under the HEAD
   nsCOMPtr<nsIDocument> document = do_QueryInterface(domDoc);
-  NS_ENSURE_STATE(document);
+  if (NS_WARN_IF(!document)) {
+    return NS_ERROR_UNEXPECTED;
+  }
 
   RefPtr<dom::Element> headElement = document->GetHeadElement();
   if (NS_WARN_IF(!headElement)) {
     return NS_ERROR_UNEXPECTED;
   }
 
   bool newTitleNode = false;
   uint32_t newTitleIndex = 0;
 
   if (!titleNode) {
     // Didn't find one above: Create a new one
     nsCOMPtr<nsIDOMElement>titleElement;
     rv = domDoc->CreateElement(NS_LITERAL_STRING("title"),
                                getter_AddRefs(titleElement));
-    NS_ENSURE_SUCCESS(rv, rv);
-    NS_ENSURE_TRUE(titleElement, NS_ERROR_FAILURE);
+    if (NS_WARN_IF(NS_FAILED(rv))) {
+      return rv;
+    }
+    if (NS_WARN_IF(!titleElement)) {
+      return NS_ERROR_FAILURE;
+    }
 
     titleNode = do_QueryInterface(titleElement);
     newTitleNode = true;
 
     // Get index so we append new title node after all existing HEAD children.
     newTitleIndex = headElement->GetChildCount();
   }
 
   // Append a text node under the TITLE only if the title text isn't empty.
   if (titleNode && !aTitle.IsEmpty()) {
     nsCOMPtr<nsIDOMText> textNode;
     rv = domDoc->CreateTextNode(aTitle, getter_AddRefs(textNode));
-    NS_ENSURE_SUCCESS(rv, rv);
+    if (NS_WARN_IF(NS_FAILED(rv))) {
+      return rv;
+    }
+
     nsCOMPtr<nsIDOMNode> newNode = do_QueryInterface(textNode);
-    NS_ENSURE_TRUE(newNode, NS_ERROR_FAILURE);
+    if (NS_WARN_IF(!newNode)) {
+      return NS_ERROR_FAILURE;
+    }
 
     if (newTitleNode) {
       // Not undoable: We will insert newTitleNode below
       nsCOMPtr<nsIDOMNode> resultNode;
       rv = titleNode->AppendChild(newNode, getter_AddRefs(resultNode));
+      if (NS_WARN_IF(NS_FAILED(rv))) {
+        return rv;
+      }
     } else {
       // This is an undoable transaction
       rv = editor->InsertNode(newNode, titleNode, 0);
+      if (NS_WARN_IF(NS_FAILED(rv))) {
+        return rv;
+      }
     }
-    NS_ENSURE_SUCCESS(rv, rv);
     // Calling AppendChild() or InsertNode() could cause removing the head
     // element.  So, let's mark it dirty.
     headElement = nullptr;
   }
 
   if (newTitleNode) {
     if (!headElement) {
       headElement = document->GetHeadElement();
@@ -187,14 +214,16 @@ SetDocumentTitleTransaction::GetTxnDescr
   aString.AssignLiteral("SetDocumentTitleTransaction: ");
   aString += mValue;
   return NS_OK;
 }
 
 NS_IMETHODIMP
 SetDocumentTitleTransaction::GetIsTransient(bool* aIsTransient)
 {
-  NS_ENSURE_TRUE(aIsTransient, NS_ERROR_NULL_POINTER);
+  if (NS_WARN_IF(!aIsTransient)) {
+    return NS_ERROR_NULL_POINTER;
+  }
   *aIsTransient = mIsTransient;
   return NS_OK;
 }
 
 } // namespace mozilla