Index: chrome/browser/extensions/extension_i18n_api.cc |
diff --git a/chrome/browser/extensions/extension_i18n_api.cc b/chrome/browser/extensions/extension_i18n_api.cc |
index def43805fa642327adb5cd920da838afd175c166..f3df08c175000d1c5962421dd7b63136d0ae50b5 100644 |
--- a/chrome/browser/extensions/extension_i18n_api.cc |
+++ b/chrome/browser/extensions/extension_i18n_api.cc |
@@ -26,7 +26,8 @@ bool GetAcceptLanguagesFunction::RunImpl() { |
// of the language code) on accept-languages set through editing preference |
// file directly. So, here, we're adding extra checks to be resistant to |
// crashes caused by data corruption. |
- result_.reset(new ListValue()); |
+ ListValue* result_languages = new ListValue(); |
+ SetResult(result_languages); |
if (acceptLanguages.empty()) { |
error_ = kEmptyAcceptLanguagesError; |
return false; |
@@ -38,8 +39,7 @@ bool GetAcceptLanguagesFunction::RunImpl() { |
if (end > begin) { |
// Guard against a malformed value with multiple "," in a row. |
string16 acceptLang = acceptLanguages.substr(begin, end - begin); |
- static_cast<ListValue*>(result_.get())-> |
- Append(Value::CreateStringValue(acceptLang)); |
+ result_languages->Append(Value::CreateStringValue(acceptLang)); |
} |
begin = end + 1; |
// 'begin >= acceptLanguages.length()' to guard against a value |
@@ -47,7 +47,7 @@ bool GetAcceptLanguagesFunction::RunImpl() { |
if (end == string16::npos || begin >= acceptLanguages.length()) |
break; |
} |
- if (static_cast<ListValue*>(result_.get())->GetSize() == 0) { |
+ if (result_languages->GetSize() == 0) { |
error_ = kEmptyAcceptLanguagesError; |
return false; |
} |