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/chromeos/gdata/gdata_files.h" | 5 #include "chrome/browser/chromeos/gdata/gdata_files.h" |
6 | 6 |
7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
8 #include "base/platform_file.h" | 8 #include "base/platform_file.h" |
9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
377 root_->RemoveEntryFromResourceMap(entry); | 377 root_->RemoveEntryFromResourceMap(entry); |
378 | 378 |
379 // Then delete it from tree. | 379 // Then delete it from tree. |
380 child_files_.erase(file_name); | 380 child_files_.erase(file_name); |
381 child_directories_.erase(file_name); | 381 child_directories_.erase(file_name); |
382 | 382 |
383 return true; | 383 return true; |
384 } | 384 } |
385 | 385 |
386 void GDataDirectory::RemoveChildren() { | 386 void GDataDirectory::RemoveChildren() { |
387 // Remove child files first. | 387 RemoveChildFiles(); |
| 388 RemoveChildDirectories(); |
| 389 } |
| 390 |
| 391 void GDataDirectory::RemoveChildFiles() { |
388 for (GDataFileCollection::const_iterator iter = child_files_.begin(); | 392 for (GDataFileCollection::const_iterator iter = child_files_.begin(); |
389 iter != child_files_.end(); ++iter) { | 393 iter != child_files_.end(); ++iter) { |
390 if (root_) | 394 if (root_) |
391 root_->RemoveEntryFromResourceMap(iter->second); | 395 root_->RemoveEntryFromResourceMap(iter->second); |
392 } | 396 } |
393 STLDeleteValues(&child_files_); | 397 STLDeleteValues(&child_files_); |
394 child_files_.clear(); | 398 child_files_.clear(); |
| 399 } |
395 | 400 |
| 401 void GDataDirectory::RemoveChildDirectories() { |
396 for (GDataDirectoryCollection::iterator iter = child_directories_.begin(); | 402 for (GDataDirectoryCollection::iterator iter = child_directories_.begin(); |
397 iter != child_directories_.end(); ++iter) { | 403 iter != child_directories_.end(); ++iter) { |
398 GDataDirectory* dir = iter->second; | 404 GDataDirectory* dir = iter->second; |
399 // Remove directories recursively. | 405 // Remove directories recursively. |
400 dir->RemoveChildren(); | 406 dir->RemoveChildren(); |
401 if (root_) | 407 if (root_) |
402 root_->RemoveEntryFromResourceMap(dir); | 408 root_->RemoveEntryFromResourceMap(dir); |
403 } | 409 } |
404 STLDeleteValues(&child_directories_); | 410 STLDeleteValues(&child_directories_); |
405 child_directories_.clear(); | 411 child_directories_.clear(); |
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
888 } | 894 } |
889 | 895 |
890 FromProto(*proto.get()); | 896 FromProto(*proto.get()); |
891 set_origin(FROM_CACHE); | 897 set_origin(FROM_CACHE); |
892 set_refresh_time(base::Time::Now()); | 898 set_refresh_time(base::Time::Now()); |
893 } | 899 } |
894 return ok; | 900 return ok; |
895 } | 901 } |
896 | 902 |
897 } // namespace gdata | 903 } // namespace gdata |
OLD | NEW |