| Index: chrome/browser/ui/intents/web_intent_picker_controller.cc
|
| diff --git a/chrome/browser/ui/intents/web_intent_picker_controller.cc b/chrome/browser/ui/intents/web_intent_picker_controller.cc
|
| index 4a05ab5539066636c6b46a98f5f97f04ec81a09e..4b537de9c8e3098b45aa5c81a49cdef07c42d489 100644
|
| --- a/chrome/browser/ui/intents/web_intent_picker_controller.cc
|
| +++ b/chrome/browser/ui/intents/web_intent_picker_controller.cc
|
| @@ -605,17 +605,19 @@ void WebIntentPickerController::OnCWSIntentServicesAvailable(
|
| const CWSIntentsRegistry::IntentExtensionList& extensions) {
|
| ExtensionServiceInterface* extension_service =
|
| tab_contents_->profile()->GetExtensionService();
|
| +
|
| + std::vector<WebIntentPickerModel::SuggestedExtension> suggestions;
|
| for (size_t i = 0; i < extensions.size(); ++i) {
|
| const CWSIntentsRegistry::IntentExtensionInfo& info = extensions[i];
|
| +
|
| + // Do not include suggestions for already installed extensions.
|
| if (extension_service->GetExtensionById(UTF16ToUTF8(info.id),
|
| - true)) { // Include disabled.
|
| + true)) {
|
| continue;
|
| }
|
|
|
| - picker_model_->AddSuggestedExtension(
|
| - info.name,
|
| - info.id,
|
| - info.average_rating);
|
| + suggestions.push_back(WebIntentPickerModel::SuggestedExtension(
|
| + info.name, info.id, info.average_rating));
|
|
|
| pending_async_count_++;
|
| net::URLFetcher* icon_url_fetcher = net::URLFetcher::Create(
|
| @@ -634,6 +636,8 @@ void WebIntentPickerController::OnCWSIntentServicesAvailable(
|
| icon_url_fetcher->Start();
|
| }
|
|
|
| + picker_model_->AddSuggestedExtensions(suggestions);
|
| +
|
| AsyncOperationFinished();
|
| }
|
|
|
|
|