| 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;
|
| }
|
|
|