Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/fake_drive_service_helpe r.h" | 5 #include "chrome/browser/sync_file_system/drive_backend/fake_drive_service_helpe r.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 210 std::string* sync_root_folder_id) { | 210 std::string* sync_root_folder_id) { |
| 211 DriveApiErrorCode error = google_apis::DRIVE_OTHER_ERROR; | 211 DriveApiErrorCode error = google_apis::DRIVE_OTHER_ERROR; |
| 212 std::unique_ptr<FileList> resource_list; | 212 std::unique_ptr<FileList> resource_list; |
| 213 fake_drive_service_->SearchByTitle( | 213 fake_drive_service_->SearchByTitle( |
| 214 sync_root_folder_title_, std::string(), | 214 sync_root_folder_title_, std::string(), |
| 215 CreateResultReceiver(&error, &resource_list)); | 215 CreateResultReceiver(&error, &resource_list)); |
| 216 base::RunLoop().RunUntilIdle(); | 216 base::RunLoop().RunUntilIdle(); |
| 217 if (error != google_apis::HTTP_SUCCESS) | 217 if (error != google_apis::HTTP_SUCCESS) |
| 218 return error; | 218 return error; |
| 219 | 219 |
| 220 const ScopedVector<FileResource>& items = resource_list->items(); | 220 const std::vector<std::unique_ptr<FileResource>>& items = |
| 221 for (ScopedVector<FileResource>::const_iterator itr = items.begin(); | 221 resource_list->items(); |
| 222 itr != items.end(); ++itr) { | 222 for (const auto& item : items) { |
| 223 const FileResource& item = **itr; | 223 if (item->parents().empty()) { |
| 224 if (item.parents().empty()) { | 224 *sync_root_folder_id = item->file_id(); |
| 225 *sync_root_folder_id = item.file_id(); | |
| 226 return google_apis::HTTP_SUCCESS; | 225 return google_apis::HTTP_SUCCESS; |
| 227 } | 226 } |
| 228 } | 227 } |
| 229 return google_apis::HTTP_NOT_FOUND; | 228 return google_apis::HTTP_NOT_FOUND; |
| 230 } | 229 } |
| 231 | 230 |
| 232 DriveApiErrorCode FakeDriveServiceHelper::ListFilesInFolder( | 231 DriveApiErrorCode FakeDriveServiceHelper::ListFilesInFolder( |
| 233 const std::string& folder_id, | 232 const std::string& folder_id, |
| 234 ScopedVector<FileResource>* entries) { | 233 std::vector<std::unique_ptr<FileResource>>* entries) { |
| 235 DriveApiErrorCode error = google_apis::DRIVE_OTHER_ERROR; | 234 DriveApiErrorCode error = google_apis::DRIVE_OTHER_ERROR; |
| 236 std::unique_ptr<FileList> list; | 235 std::unique_ptr<FileList> list; |
| 237 fake_drive_service_->GetFileListInDirectory( | 236 fake_drive_service_->GetFileListInDirectory( |
| 238 folder_id, | 237 folder_id, |
| 239 CreateResultReceiver(&error, &list)); | 238 CreateResultReceiver(&error, &list)); |
| 240 base::RunLoop().RunUntilIdle(); | 239 base::RunLoop().RunUntilIdle(); |
| 241 if (error != google_apis::HTTP_SUCCESS) | 240 if (error != google_apis::HTTP_SUCCESS) |
| 242 return error; | 241 return error; |
| 243 | 242 |
| 244 return CompleteListing(std::move(list), entries); | 243 return CompleteListing(std::move(list), entries); |
| 245 } | 244 } |
| 246 | 245 |
| 247 DriveApiErrorCode FakeDriveServiceHelper::SearchByTitle( | 246 DriveApiErrorCode FakeDriveServiceHelper::SearchByTitle( |
| 248 const std::string& folder_id, | 247 const std::string& folder_id, |
| 249 const std::string& title, | 248 const std::string& title, |
| 250 ScopedVector<FileResource>* entries) { | 249 std::vector<std::unique_ptr<FileResource>>* entries) { |
| 251 DriveApiErrorCode error = google_apis::DRIVE_OTHER_ERROR; | 250 DriveApiErrorCode error = google_apis::DRIVE_OTHER_ERROR; |
| 252 std::unique_ptr<FileList> list; | 251 std::unique_ptr<FileList> list; |
| 253 fake_drive_service_->SearchByTitle( | 252 fake_drive_service_->SearchByTitle( |
| 254 title, folder_id, | 253 title, folder_id, |
| 255 CreateResultReceiver(&error, &list)); | 254 CreateResultReceiver(&error, &list)); |
| 256 base::RunLoop().RunUntilIdle(); | 255 base::RunLoop().RunUntilIdle(); |
| 257 if (error != google_apis::HTTP_SUCCESS) | 256 if (error != google_apis::HTTP_SUCCESS) |
| 258 return error; | 257 return error; |
| 259 | 258 |
| 260 return CompleteListing(std::move(list), entries); | 259 return CompleteListing(std::move(list), entries); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 309 std::unique_ptr<AboutResource>* about_resource) { | 308 std::unique_ptr<AboutResource>* about_resource) { |
| 310 DriveApiErrorCode error = google_apis::DRIVE_OTHER_ERROR; | 309 DriveApiErrorCode error = google_apis::DRIVE_OTHER_ERROR; |
| 311 fake_drive_service_->GetAboutResource( | 310 fake_drive_service_->GetAboutResource( |
| 312 CreateResultReceiver(&error, about_resource)); | 311 CreateResultReceiver(&error, about_resource)); |
| 313 base::RunLoop().RunUntilIdle(); | 312 base::RunLoop().RunUntilIdle(); |
| 314 return error; | 313 return error; |
| 315 } | 314 } |
| 316 | 315 |
| 317 DriveApiErrorCode FakeDriveServiceHelper::CompleteListing( | 316 DriveApiErrorCode FakeDriveServiceHelper::CompleteListing( |
| 318 std::unique_ptr<FileList> list, | 317 std::unique_ptr<FileList> list, |
| 319 ScopedVector<FileResource>* entries) { | 318 std::vector<std::unique_ptr<FileResource>>* entries) { |
| 320 while (true) { | 319 while (true) { |
| 321 entries->reserve(entries->size() + list->items().size()); | 320 entries->reserve(entries->size() + list->items().size()); |
| 322 std::vector<FileResource*> tmp; | 321 std::move(list->mutable_items()->begin(), list->mutable_items()->end(), |
| 323 list->mutable_items()->release(&tmp); | 322 std::back_inserter(*entries)); |
|
Avi (use Gerrit)
2017/01/09 17:18:29
Yay move to a back_inserter!
| |
| 324 for (std::vector<FileResource*>::const_iterator itr = | 323 list->mutable_items()->clear(); |
| 325 tmp.begin(); itr != tmp.end(); ++itr) { | |
| 326 entries->push_back(*itr); | |
| 327 } | |
| 328 | 324 |
| 329 GURL next_feed = list->next_link(); | 325 GURL next_feed = list->next_link(); |
| 330 if (next_feed.is_empty()) | 326 if (next_feed.is_empty()) |
| 331 return google_apis::HTTP_SUCCESS; | 327 return google_apis::HTTP_SUCCESS; |
| 332 | 328 |
| 333 DriveApiErrorCode error = google_apis::DRIVE_OTHER_ERROR; | 329 DriveApiErrorCode error = google_apis::DRIVE_OTHER_ERROR; |
| 334 list.reset(); | 330 list.reset(); |
| 335 fake_drive_service_->GetRemainingFileList( | 331 fake_drive_service_->GetRemainingFileList( |
| 336 next_feed, | 332 next_feed, |
| 337 CreateResultReceiver(&error, &list)); | 333 CreateResultReceiver(&error, &list)); |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 351 const std::string& content) { | 347 const std::string& content) { |
| 352 base::FilePath temp_file; | 348 base::FilePath temp_file; |
| 353 EXPECT_TRUE(base::CreateTemporaryFileInDir(temp_dir_, &temp_file)); | 349 EXPECT_TRUE(base::CreateTemporaryFileInDir(temp_dir_, &temp_file)); |
| 354 EXPECT_EQ(static_cast<int>(content.size()), | 350 EXPECT_EQ(static_cast<int>(content.size()), |
| 355 base::WriteFile(temp_file, content.data(), content.size())); | 351 base::WriteFile(temp_file, content.data(), content.size())); |
| 356 return temp_file; | 352 return temp_file; |
| 357 } | 353 } |
| 358 | 354 |
| 359 } // namespace drive_backend | 355 } // namespace drive_backend |
| 360 } // namespace sync_file_system | 356 } // namespace sync_file_system |
| OLD | NEW |