Change the signature of JSONReader::Read() and related
methods to be more friendly to use with scoped_ptr. Change
all the callsites.
Review URL: http://codereview.chromium.org/16270
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7486 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/autocomplete/search_provider.cc b/chrome/browser/autocomplete/search_provider.cc
index 32c2fb2..17bdcc8d 100644
--- a/chrome/browser/autocomplete/search_provider.cc
+++ b/chrome/browser/autocomplete/search_provider.cc
@@ -129,13 +129,14 @@
}
}
- JSONStringValueSerializer deserializer(json_data);
- deserializer.set_allow_trailing_comma(true);
- Value* root_val = NULL;
- have_suggest_results_ = status.is_success() && (response_code == 200) &&
- deserializer.Deserialize(&root_val, NULL) &&
- ParseSuggestResults(root_val);
- delete root_val;
+ if (status.is_success() && response_code == 200) {
+ JSONStringValueSerializer deserializer(json_data);
+ deserializer.set_allow_trailing_comma(true);
+ scoped_ptr<Value> root_val(deserializer.Deserialize(NULL));
+ have_suggest_results_ =
+ root_val.get() && ParseSuggestResults(root_val.get());
+ }
+
ConvertResultsToAutocompleteMatches();
listener_->OnProviderUpdate(!suggest_results_.empty());
}