Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(210)

Unified Diff: chrome/browser/ui/intents/web_intent_picker_model.cc

Issue 10825352: Change picker model API to allow less notification messages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/intents/web_intent_picker_model.cc
diff --git a/chrome/browser/ui/intents/web_intent_picker_model.cc b/chrome/browser/ui/intents/web_intent_picker_model.cc
index 8410450d92f4ca4bb616d1ea5be25c359d70cecd..6e2d2ee12753602191feacf49a9e8e4e9c6f797d 100644
--- a/chrome/browser/ui/intents/web_intent_picker_model.cc
+++ b/chrome/browser/ui/intents/web_intent_picker_model.cc
@@ -90,20 +90,11 @@ void WebIntentPickerModel::UpdateFaviconAt(size_t index,
observer_->OnFaviconChanged(this, index);
}
-void WebIntentPickerModel::AddSuggestedExtension(const string16& title,
- const string16& id,
- double average_rating) {
- suggested_extensions_.push_back(
- new SuggestedExtension(title, id, average_rating));
- if (observer_)
- observer_->OnModelChanged(this);
-}
-
-void WebIntentPickerModel::RemoveSuggestedExtensionAt(size_t index) {
- DCHECK_LT(index, suggested_extensions_.size());
- SuggestedExtension* extension = suggested_extensions_[index];
- suggested_extensions_.erase(suggested_extensions_.begin() + index);
- delete extension;
+void WebIntentPickerModel::AddSuggestedExtensions(
+ const std::vector<SuggestedExtension>& suggestions) {
+ suggested_extensions_.insert(suggested_extensions_.end(),
Greg Billock 2012/08/15 17:05:07 Should we call it "set" and just replace them?
+ suggestions.begin(),
+ suggestions.end());
if (observer_)
observer_->OnModelChanged(this);
}
@@ -111,7 +102,7 @@ void WebIntentPickerModel::RemoveSuggestedExtensionAt(size_t index) {
const WebIntentPickerModel::SuggestedExtension&
WebIntentPickerModel::GetSuggestedExtensionAt(size_t index) const {
DCHECK_LT(index, suggested_extensions_.size());
- return *suggested_extensions_[index];
+ return suggested_extensions_[index];
}
size_t WebIntentPickerModel::GetSuggestedExtensionCount() const {
@@ -131,12 +122,12 @@ void WebIntentPickerModel::SetSuggestedExtensionIconWithId(
const string16& id,
const gfx::Image& image) {
for (size_t i = 0; i < suggested_extensions_.size(); ++i) {
- SuggestedExtension* extension = suggested_extensions_[i];
- if (extension->id == id) {
- extension->icon = image;
+ SuggestedExtension& extension = suggested_extensions_[i];
+ if (extension.id == id) {
+ extension.icon = image;
if (observer_)
- observer_->OnExtensionIconChanged(this, extension->id);
+ observer_->OnExtensionIconChanged(this, extension.id);
break;
}
}
@@ -157,7 +148,6 @@ bool WebIntentPickerModel::IsInlineDisposition() const {
void WebIntentPickerModel::DestroyAll() {
STLDeleteElements(&installed_services_);
- STLDeleteElements(&suggested_extensions_);
}
WebIntentPickerModel::InstalledService::InstalledService(
« no previous file with comments | « chrome/browser/ui/intents/web_intent_picker_model.h ('k') | chrome/browser/ui/intents/web_intent_picker_model_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698