| Index: chrome/browser/chromeos/extensions/file_manager/file_browser_private_api.cc
|
| diff --git a/chrome/browser/chromeos/extensions/file_manager/file_browser_private_api.cc b/chrome/browser/chromeos/extensions/file_manager/file_browser_private_api.cc
|
| index 9a0175d3bee81779019f93e338ac4550fafd7f15..39a6c7d2597b74ef5514aff113b8009c1651563c 100644
|
| --- a/chrome/browser/chromeos/extensions/file_manager/file_browser_private_api.cc
|
| +++ b/chrome/browser/chromeos/extensions/file_manager/file_browser_private_api.cc
|
| @@ -83,7 +83,8 @@
|
| #include "webkit/fileapi/file_system_url.h"
|
| #include "webkit/fileapi/file_system_util.h"
|
|
|
| -using extensions::app_file_handler_util::FindFileHandlersForMimeTypes;
|
| +using extensions::app_file_handler_util::FindFileHandlersForFiles;
|
| +using extensions::app_file_handler_util::PathAndMimeTypeSet;
|
| using chromeos::disks::DiskMountManager;
|
| using content::BrowserContext;
|
| using content::BrowserThread;
|
| @@ -393,7 +394,7 @@ void FillDriveEntryPropertiesValue(
|
| }
|
|
|
| void GetMimeTypesForFileURLs(const std::vector<base::FilePath>& file_paths,
|
| - std::set<std::string>* mime_types) {
|
| + PathAndMimeTypeSet* files) {
|
| for (std::vector<base::FilePath>::const_iterator iter = file_paths.begin();
|
| iter != file_paths.end(); ++iter) {
|
| const base::FilePath::StringType file_extension =
|
| @@ -409,9 +410,9 @@ void GetMimeTypesForFileURLs(const std::vector<base::FilePath>& file_paths,
|
| // If the file doesn't have an extension or its mime-type cannot be
|
| // determined, then indicate that it has the empty mime-type. This will
|
| // only be matched if the Web Intents accepts "*" or "*/*".
|
| - mime_types->insert("");
|
| + files->insert(std::make_pair(*iter, ""));
|
| } else {
|
| - mime_types->insert(mime_type);
|
| + files->insert(std::make_pair(*iter, mime_type));
|
| }
|
| }
|
| }
|
| @@ -898,8 +899,8 @@ bool GetFileTasksFileBrowserFunction::FindAppTasks(
|
| if (!service)
|
| return false;
|
|
|
| - std::set<std::string> mime_types;
|
| - GetMimeTypesForFileURLs(file_paths, &mime_types);
|
| + PathAndMimeTypeSet files;
|
| + GetMimeTypesForFileURLs(file_paths, &files);
|
|
|
| for (ExtensionSet::const_iterator iter = service->extensions()->begin();
|
| iter != service->extensions()->end();
|
| @@ -915,9 +916,7 @@ bool GetFileTasksFileBrowserFunction::FindAppTasks(
|
| continue;
|
|
|
| typedef std::vector<const extensions::FileHandlerInfo*> FileHandlerList;
|
| - FileHandlerList file_handlers =
|
| - FindFileHandlersForMimeTypes(*extension, mime_types);
|
| - // TODO(benwells): also support matching by file extension.
|
| + FileHandlerList file_handlers = FindFileHandlersForFiles(*extension, files);
|
| if (file_handlers.empty())
|
| continue;
|
|
|
|
|