OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/sync_file_system/drive_backend/drive_backend_util.h" | 5 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_util.h" |
6 | 6 |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/memory/scoped_vector.h" | 9 #include "base/memory/scoped_vector.h" |
10 #include "base/message_loop/message_loop_proxy.h" | 10 #include "base/message_loop/message_loop_proxy.h" |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 | 175 |
176 std::string GetMimeTypeFromTitle(const base::FilePath& title) { | 176 std::string GetMimeTypeFromTitle(const base::FilePath& title) { |
177 base::FilePath::StringType extension = title.Extension(); | 177 base::FilePath::StringType extension = title.Extension(); |
178 std::string mime_type; | 178 std::string mime_type; |
179 if (extension.empty() || | 179 if (extension.empty() || |
180 !net::GetWellKnownMimeTypeFromExtension(extension.substr(1), &mime_type)) | 180 !net::GetWellKnownMimeTypeFromExtension(extension.substr(1), &mime_type)) |
181 return kMimeTypeOctetStream; | 181 return kMimeTypeOctetStream; |
182 return mime_type; | 182 return mime_type; |
183 } | 183 } |
184 | 184 |
185 scoped_ptr<google_apis::ResourceEntry> GetOldestCreatedFolderResource( | |
186 ScopedVector<google_apis::ResourceEntry> candidates) { | |
187 scoped_ptr<google_apis::ResourceEntry> oldest; | |
188 for (size_t i = 0; i < candidates.size(); ++i) { | |
189 google_apis::ResourceEntry* entry = candidates[i]; | |
190 if (!entry->is_folder() || entry->deleted()) | |
191 continue; | |
192 | |
193 if (!oldest || oldest->published_time() > entry->published_time()) { | |
194 oldest.reset(entry); | |
195 candidates[i] = NULL; | |
196 } | |
197 } | |
198 | |
199 return oldest.Pass(); | |
200 } | |
201 | |
202 SyncStatusCode GDataErrorCodeToSyncStatusCode( | 185 SyncStatusCode GDataErrorCodeToSyncStatusCode( |
203 google_apis::GDataErrorCode error) { | 186 google_apis::GDataErrorCode error) { |
204 // NOTE: Please update DriveFileSyncService::UpdateServiceState when you add | 187 // NOTE: Please update DriveFileSyncService::UpdateServiceState when you add |
205 // more error code mapping. | 188 // more error code mapping. |
206 switch (error) { | 189 switch (error) { |
207 case google_apis::HTTP_SUCCESS: | 190 case google_apis::HTTP_SUCCESS: |
208 case google_apis::HTTP_CREATED: | 191 case google_apis::HTTP_CREATED: |
209 case google_apis::HTTP_NO_CONTENT: | 192 case google_apis::HTTP_NO_CONTENT: |
210 case google_apis::HTTP_FOUND: | 193 case google_apis::HTTP_FOUND: |
211 return SYNC_STATUS_OK; | 194 return SYNC_STATUS_OK; |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 } | 250 } |
268 | 251 |
269 scoped_ptr<FileTracker> CloneFileTracker(const FileTracker* obj) { | 252 scoped_ptr<FileTracker> CloneFileTracker(const FileTracker* obj) { |
270 if (!obj) | 253 if (!obj) |
271 return scoped_ptr<FileTracker>(); | 254 return scoped_ptr<FileTracker>(); |
272 return scoped_ptr<FileTracker>(new FileTracker(*obj)); | 255 return scoped_ptr<FileTracker>(new FileTracker(*obj)); |
273 } | 256 } |
274 | 257 |
275 } // namespace drive_backend | 258 } // namespace drive_backend |
276 } // namespace sync_file_system | 259 } // namespace sync_file_system |
OLD | NEW |