Bug 1251235 - changed from naked pointers to UniquePtr to prevent resource leak. r=froydnj
authorBogdan Postelnicu <bogdan.postelnicu@softvision.ro>
Thu, 25 Feb 2016 16:34:21 +0200
changeset 322446 5bff8ab685acf681f63ecbbf5c60ce84f128476c
parent 322445 906d3790693070c28720354c6ddd4e5bc8c20f6c
child 322447 90f5c7bbdec4246330826d1103129e8d6c674533
push id5913
push userjlund@mozilla.com
push dateMon, 25 Apr 2016 16:57:49 +0000
treeherdermozilla-beta@dcaf0a6fa115 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersfroydnj
bugs1251235
milestone47.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 1251235 - changed from naked pointers to UniquePtr to prevent resource leak. r=froydnj MozReview-Commit-ID: FVZWMdASQKG
parser/html/nsHtml5ViewSourceUtils.cpp
--- a/parser/html/nsHtml5ViewSourceUtils.cpp
+++ b/parser/html/nsHtml5ViewSourceUtils.cpp
@@ -1,41 +1,42 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 
 #include "nsHtml5ViewSourceUtils.h"
 #include "nsHtml5AttributeName.h"
 #include "mozilla/Preferences.h"
+#include "mozilla/UniquePtr.h"
 
 // static
 nsHtml5HtmlAttributes*
 nsHtml5ViewSourceUtils::NewBodyAttributes()
 {
   nsHtml5HtmlAttributes* bodyAttrs = new nsHtml5HtmlAttributes(0);
-  nsString* id = new nsString(NS_LITERAL_STRING("viewsource"));
-  bodyAttrs->addAttribute(nsHtml5AttributeName::ATTR_ID, id);
+  auto id = MakeUnique<nsString>(NS_LITERAL_STRING("viewsource"));
+  bodyAttrs->addAttribute(nsHtml5AttributeName::ATTR_ID, id.release());
 
-  nsString* klass = new nsString();
+  auto klass = MakeUnique<nsString>();
   if (mozilla::Preferences::GetBool("view_source.wrap_long_lines", true)) {
     klass->Append(NS_LITERAL_STRING("wrap "));
   }
   if (mozilla::Preferences::GetBool("view_source.syntax_highlight", true)) {
     klass->Append(NS_LITERAL_STRING("highlight"));
   }
   if (!klass->IsEmpty()) {
-    bodyAttrs->addAttribute(nsHtml5AttributeName::ATTR_CLASS, klass);
+    bodyAttrs->addAttribute(nsHtml5AttributeName::ATTR_CLASS, klass.release());
   }
 
   int32_t tabSize = mozilla::Preferences::GetInt("view_source.tab_size", 4);
   if (tabSize > 0) {
-    nsString* style = new nsString(NS_LITERAL_STRING("-moz-tab-size: "));
+    auto style = MakeUnique<nsString>(NS_LITERAL_STRING("-moz-tab-size: "));
     style->AppendInt(tabSize);
-    bodyAttrs->addAttribute(nsHtml5AttributeName::ATTR_STYLE, style);
+    bodyAttrs->addAttribute(nsHtml5AttributeName::ATTR_STYLE, style.release());
   }
 
   return bodyAttrs;
 }
 
 // static
 nsHtml5HtmlAttributes*
 nsHtml5ViewSourceUtils::NewLinkAttributes()