| Index: chrome/browser/drive/drive_api_util.cc
|
| diff --git a/chrome/browser/drive/drive_api_util.cc b/chrome/browser/drive/drive_api_util.cc
|
| index 610f735afc8cb2c863c801d8cbd33e13386a055c..ef4d12812752ba942277685bfb3b8f437de636d6 100644
|
| --- a/chrome/browser/drive/drive_api_util.cc
|
| +++ b/chrome/browser/drive/drive_api_util.cc
|
| @@ -39,6 +39,25 @@ const char kGoogleTableMimeType[] = "application/vnd.google-apps.table";
|
| const char kGoogleFormMimeType[] = "application/vnd.google-apps.form";
|
| const char kDriveFolderMimeType[] = "application/vnd.google-apps.folder";
|
|
|
| +std::string GetMimeTypeFromEntryKind(google_apis::DriveEntryKind kind) {
|
| + switch (kind) {
|
| + case google_apis::ENTRY_KIND_DOCUMENT:
|
| + return kGoogleDocumentMimeType;
|
| + case google_apis::ENTRY_KIND_SPREADSHEET:
|
| + return kGoogleSpreadsheetMimeType;
|
| + case google_apis::ENTRY_KIND_PRESENTATION:
|
| + return kGooglePresentationMimeType;
|
| + case google_apis::ENTRY_KIND_DRAWING:
|
| + return kGoogleDrawingMimeType;
|
| + case google_apis::ENTRY_KIND_TABLE:
|
| + return kGoogleTableMimeType;
|
| + case google_apis::ENTRY_KIND_FORM:
|
| + return kGoogleFormMimeType;
|
| + default:
|
| + return std::string();
|
| + }
|
| +}
|
| +
|
| ScopedVector<std::string> CopyScopedVectorString(
|
| const ScopedVector<std::string>& source) {
|
| ScopedVector<std::string> result;
|
| @@ -323,10 +342,14 @@ scoped_ptr<google_apis::FileResource> ConvertResourceEntryToFileResource(
|
| "shared") != entry.labels().end());
|
|
|
| file->set_download_url(entry.download_url());
|
| - if (entry.is_folder())
|
| + if (entry.is_folder()) {
|
| file->set_mime_type(kDriveFolderMimeType);
|
| - else
|
| - file->set_mime_type(entry.content_mime_type());
|
| + } else {
|
| + std::string mime_type = GetMimeTypeFromEntryKind(entry.kind());
|
| + if (mime_type.empty())
|
| + mime_type = entry.content_mime_type();
|
| + file->set_mime_type(mime_type);
|
| + }
|
|
|
| file->set_md5_checksum(entry.file_md5());
|
| file->set_file_size(entry.file_size());
|
|
|