Index: chrome/browser/chromeos/file_manager/file_tasks.cc |
diff --git a/chrome/browser/chromeos/file_manager/file_tasks.cc b/chrome/browser/chromeos/file_manager/file_tasks.cc |
index 53cf74bc65ed325772230ab8ef6f1efe10e2c0c9..7965eea0b3908b701c3dd9bee63b8be1f2905ea6 100644 |
--- a/chrome/browser/chromeos/file_manager/file_tasks.cc |
+++ b/chrome/browser/chromeos/file_manager/file_tasks.cc |
@@ -413,25 +413,25 @@ void FindFileHandlerTasks( |
if (file_handlers.empty()) |
continue; |
- for (FileHandlerList::iterator i = file_handlers.begin(); |
- i != file_handlers.end(); ++i) { |
- std::string task_id = file_tasks::MakeTaskID( |
- extension->id(), file_tasks::TASK_TYPE_FILE_HANDLER, (*i)->id); |
- |
- GURL best_icon = extensions::ExtensionIconSource::GetIconURL( |
- extension, |
- drive::util::kPreferredIconSize, |
- ExtensionIconSet::MATCH_BIGGER, |
- false, // grayscale |
- NULL); // exists |
- |
- result_list->push_back(FullTaskDescriptor( |
- TaskDescriptor( |
- extension->id(), file_tasks::TASK_TYPE_FILE_HANDLER, (*i)->id), |
- extension->name(), |
- best_icon, |
- false /* is_default */)); |
- } |
+ // Only show the first matching handler from each app. |
+ const extensions::FileHandlerInfo* file_handler = file_handlers.front(); |
+ std::string task_id = file_tasks::MakeTaskID( |
+ extension->id(), file_tasks::TASK_TYPE_FILE_HANDLER, file_handler->id); |
+ |
+ GURL best_icon = extensions::ExtensionIconSource::GetIconURL( |
+ extension, |
+ drive::util::kPreferredIconSize, |
+ ExtensionIconSet::MATCH_BIGGER, |
+ false, // grayscale |
+ NULL); // exists |
+ |
+ result_list->push_back( |
+ FullTaskDescriptor(TaskDescriptor(extension->id(), |
+ file_tasks::TASK_TYPE_FILE_HANDLER, |
+ file_handler->id), |
+ extension->name(), |
+ best_icon, |
+ false /* is_default */)); |
} |
} |