Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/drive/drive_api_util.h" | 5 #include "chrome/browser/drive/drive_api_util.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/files/file.h" | 9 #include "base/files/file.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 143 return resource_id; | 143 return resource_id; |
| 144 } | 144 } |
| 145 | 145 |
| 146 ResourceIdCanonicalizer GetIdentityResourceIdCanonicalizer() { | 146 ResourceIdCanonicalizer GetIdentityResourceIdCanonicalizer() { |
| 147 return base::Bind(&Identity); | 147 return base::Bind(&Identity); |
| 148 } | 148 } |
| 149 | 149 |
| 150 const char kDocsListScope[] = "https://docs.google.com/feeds/"; | 150 const char kDocsListScope[] = "https://docs.google.com/feeds/"; |
| 151 const char kDriveAppsScope[] = "https://www.googleapis.com/auth/drive.apps"; | 151 const char kDriveAppsScope[] = "https://www.googleapis.com/auth/drive.apps"; |
| 152 | 152 |
| 153 void ParseShareUrlAndRun(const google_apis::GetShareUrlCallback& callback, | 153 void ParseShareUrlAndRun(const google_apis::GetUrlCallback& callback, |
| 154 google_apis::GDataErrorCode error, | 154 google_apis::GDataErrorCode error, |
| 155 scoped_ptr<base::Value> value) { | 155 scoped_ptr<base::Value> value) { |
| 156 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); | 156 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
| 157 | 157 |
| 158 if (!value) { | 158 if (!value) { |
| 159 callback.Run(error, GURL()); | 159 callback.Run(error, GURL()); |
| 160 return; | 160 return; |
| 161 } | 161 } |
| 162 | 162 |
| 163 // Parsing ResourceEntry is cheap enough to do on UI thread. | 163 // Parsing ResourceEntry is cheap enough to do on UI thread. |
| 164 scoped_ptr<google_apis::ResourceEntry> entry = | 164 scoped_ptr<google_apis::ResourceEntry> entry = |
| 165 google_apis::ResourceEntry::ExtractAndParse(*value); | 165 google_apis::ResourceEntry::ExtractAndParse(*value); |
| 166 if (!entry) { | 166 if (!entry) { |
| 167 callback.Run(google_apis::GDATA_PARSE_ERROR, GURL()); | 167 callback.Run(google_apis::GDATA_PARSE_ERROR, GURL()); |
| 168 return; | 168 return; |
| 169 } | 169 } |
| 170 | 170 |
| 171 const google_apis::Link* share_link = | 171 const google_apis::Link* share_link = |
| 172 entry->GetLinkByType(google_apis::Link::LINK_SHARE); | 172 entry->GetLinkByType(google_apis::Link::LINK_SHARE); |
| 173 callback.Run(error, share_link ? share_link->href() : GURL()); | 173 callback.Run(error, share_link ? share_link->href() : GURL()); |
| 174 } | 174 } |
| 175 | 175 |
| 176 scoped_ptr<google_apis::FileResource> ConvertResourceEntryToFileResource( | 176 scoped_ptr<google_apis::FileResource> ConvertResourceEntryToFileResource( |
|
hashimoto
2014/07/09 07:48:57
This function is unused now.
Could you remove this
yoshiki
2014/07/11 13:48:50
I'll do it in the separate patch.
https://coderevi
| |
| 177 const google_apis::ResourceEntry& entry) { | 177 const google_apis::ResourceEntry& entry) { |
| 178 scoped_ptr<google_apis::FileResource> file(new google_apis::FileResource); | 178 scoped_ptr<google_apis::FileResource> file(new google_apis::FileResource); |
| 179 | 179 |
| 180 file->set_file_id(entry.resource_id()); | 180 file->set_file_id(entry.resource_id()); |
| 181 file->set_title(entry.title()); | 181 file->set_title(entry.title()); |
| 182 file->set_created_date(entry.published_time()); | 182 file->set_created_date(entry.published_time()); |
| 183 | 183 |
| 184 if (std::find(entry.labels().begin(), entry.labels().end(), | 184 if (std::find(entry.labels().begin(), entry.labels().end(), |
| 185 "shared-with-me") != entry.labels().end()) { | 185 "shared-with-me") != entry.labels().end()) { |
| 186 // Set current time to mark the file is shared_with_me, since ResourceEntry | 186 // Set current time to mark the file is shared_with_me, since ResourceEntry |
| 187 // doesn't have |shared_with_me_date| equivalent. | 187 // doesn't have |shared_with_me_date| equivalent. |
| 188 file->set_shared_with_me_date(base::Time::Now()); | 188 file->set_shared_with_me_date(base::Time::Now()); |
| 189 } | 189 } |
| 190 | 190 |
| 191 file->set_shared(std::find(entry.labels().begin(), entry.labels().end(), | 191 file->set_shared(std::find(entry.labels().begin(), entry.labels().end(), |
| 192 "shared") != entry.labels().end()); | 192 "shared") != entry.labels().end()); |
| 193 | 193 |
| 194 file->set_download_url(entry.download_url()); | |
| 194 if (entry.is_folder()) { | 195 if (entry.is_folder()) { |
| 195 file->set_mime_type(kDriveFolderMimeType); | 196 file->set_mime_type(kDriveFolderMimeType); |
| 196 } else { | 197 } else { |
| 197 std::string mime_type = GetMimeTypeFromEntryKind(entry.kind()); | 198 std::string mime_type = GetMimeTypeFromEntryKind(entry.kind()); |
| 198 if (mime_type.empty()) | 199 if (mime_type.empty()) |
| 199 mime_type = entry.content_mime_type(); | 200 mime_type = entry.content_mime_type(); |
| 200 file->set_mime_type(mime_type); | 201 file->set_mime_type(mime_type); |
| 201 } | 202 } |
| 202 | 203 |
| 203 file->set_md5_checksum(entry.file_md5()); | 204 file->set_md5_checksum(entry.file_md5()); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 279 std::vector<std::string> labels; | 280 std::vector<std::string> labels; |
| 280 if (!file_resource.shared_with_me_date().is_null()) | 281 if (!file_resource.shared_with_me_date().is_null()) |
| 281 labels.push_back("shared-with-me"); | 282 labels.push_back("shared-with-me"); |
| 282 if (file_resource.shared()) | 283 if (file_resource.shared()) |
| 283 labels.push_back("shared"); | 284 labels.push_back("shared"); |
| 284 entry->set_labels(labels); | 285 entry->set_labels(labels); |
| 285 | 286 |
| 286 // This should be the url to download the file_resource. | 287 // This should be the url to download the file_resource. |
| 287 { | 288 { |
| 288 google_apis::Content content; | 289 google_apis::Content content; |
| 290 content.set_url(file_resource.download_url()); | |
| 289 content.set_mime_type(file_resource.mime_type()); | 291 content.set_mime_type(file_resource.mime_type()); |
| 290 entry->set_content(content); | 292 entry->set_content(content); |
| 291 } | 293 } |
| 292 // TODO(kochi): entry->resource_links_ | 294 // TODO(kochi): entry->resource_links_ |
| 293 | 295 |
| 294 // For file entries | 296 // For file entries |
| 295 entry->set_filename(file_resource.title()); | 297 entry->set_filename(file_resource.title()); |
| 296 entry->set_suggested_filename(file_resource.title()); | 298 entry->set_suggested_filename(file_resource.title()); |
| 297 entry->set_file_md5(file_resource.md5_checksum()); | 299 entry->set_file_md5(file_resource.md5_checksum()); |
| 298 entry->set_file_size(file_resource.file_size()); | 300 entry->set_file_size(file_resource.file_size()); |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 430 | 432 |
| 431 base::MD5Digest digest; | 433 base::MD5Digest digest; |
| 432 base::MD5Final(&digest, &context); | 434 base::MD5Final(&digest, &context); |
| 433 return MD5DigestToBase16(digest); | 435 return MD5DigestToBase16(digest); |
| 434 } | 436 } |
| 435 | 437 |
| 436 const char kWapiRootDirectoryResourceId[] = "folder:root"; | 438 const char kWapiRootDirectoryResourceId[] = "folder:root"; |
| 437 | 439 |
| 438 } // namespace util | 440 } // namespace util |
| 439 } // namespace drive | 441 } // namespace drive |
| OLD | NEW |