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/metadata_database_index.
h" | 5 #include "chrome/browser/sync_file_system/drive_backend/metadata_database_index.
h" |
6 | 6 |
7 #include <tuple> | 7 #include <tuple> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 | 163 |
164 AppendContents( | 164 AppendContents( |
165 LookUpMap(trackers_by_parent, tracker_id, std::set<int64_t>()), | 165 LookUpMap(trackers_by_parent, tracker_id, std::set<int64_t>()), |
166 &pending); | 166 &pending); |
167 } | 167 } |
168 | 168 |
169 // Delete all unreachable trackers. | 169 // Delete all unreachable trackers. |
170 ScopedVector<FileTracker> reachable_trackers; | 170 ScopedVector<FileTracker> reachable_trackers; |
171 for (size_t i = 0; i < contents->file_trackers.size(); ++i) { | 171 for (size_t i = 0; i < contents->file_trackers.size(); ++i) { |
172 FileTracker* tracker = contents->file_trackers[i]; | 172 FileTracker* tracker = contents->file_trackers[i]; |
173 if (ContainsKey(visited_trackers, tracker->tracker_id())) { | 173 if (base::ContainsKey(visited_trackers, tracker->tracker_id())) { |
174 reachable_trackers.push_back(tracker); | 174 reachable_trackers.push_back(tracker); |
175 contents->file_trackers[i] = nullptr; | 175 contents->file_trackers[i] = nullptr; |
176 } else { | 176 } else { |
177 PutFileTrackerDeletionToDB(tracker->tracker_id(), db); | 177 PutFileTrackerDeletionToDB(tracker->tracker_id(), db); |
178 } | 178 } |
179 } | 179 } |
180 contents->file_trackers = std::move(reachable_trackers); | 180 contents->file_trackers = std::move(reachable_trackers); |
181 | 181 |
182 // List all |file_id| referred by a tracker. | 182 // List all |file_id| referred by a tracker. |
183 base::hash_set<std::string> referred_file_ids; | 183 base::hash_set<std::string> referred_file_ids; |
184 for (size_t i = 0; i < contents->file_trackers.size(); ++i) | 184 for (size_t i = 0; i < contents->file_trackers.size(); ++i) |
185 referred_file_ids.insert(contents->file_trackers[i]->file_id()); | 185 referred_file_ids.insert(contents->file_trackers[i]->file_id()); |
186 | 186 |
187 // Delete all unreferred metadata. | 187 // Delete all unreferred metadata. |
188 ScopedVector<FileMetadata> referred_file_metadata; | 188 ScopedVector<FileMetadata> referred_file_metadata; |
189 for (size_t i = 0; i < contents->file_metadata.size(); ++i) { | 189 for (size_t i = 0; i < contents->file_metadata.size(); ++i) { |
190 FileMetadata* metadata = contents->file_metadata[i]; | 190 FileMetadata* metadata = contents->file_metadata[i]; |
191 if (ContainsKey(referred_file_ids, metadata->file_id())) { | 191 if (base::ContainsKey(referred_file_ids, metadata->file_id())) { |
192 referred_file_metadata.push_back(metadata); | 192 referred_file_metadata.push_back(metadata); |
193 contents->file_metadata[i] = nullptr; | 193 contents->file_metadata[i] = nullptr; |
194 } else { | 194 } else { |
195 PutFileMetadataDeletionToDB(metadata->file_id(), db); | 195 PutFileMetadataDeletionToDB(metadata->file_id(), db); |
196 } | 196 } |
197 } | 197 } |
198 contents->file_metadata = std::move(referred_file_metadata); | 198 contents->file_metadata = std::move(referred_file_metadata); |
199 } | 199 } |
200 | 200 |
201 } // namespace | 201 } // namespace |
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
515 } | 515 } |
516 | 516 |
517 void MetadataDatabaseIndex::AddToAppIDIndex( | 517 void MetadataDatabaseIndex::AddToAppIDIndex( |
518 const FileTracker& new_tracker) { | 518 const FileTracker& new_tracker) { |
519 if (!IsAppRoot(new_tracker)) | 519 if (!IsAppRoot(new_tracker)) |
520 return; | 520 return; |
521 | 521 |
522 DVLOG(3) << " Add to app_root_by_app_id_: " << new_tracker.app_id(); | 522 DVLOG(3) << " Add to app_root_by_app_id_: " << new_tracker.app_id(); |
523 | 523 |
524 DCHECK(new_tracker.active()); | 524 DCHECK(new_tracker.active()); |
525 DCHECK(!ContainsKey(app_root_by_app_id_, new_tracker.app_id())); | 525 DCHECK(!base::ContainsKey(app_root_by_app_id_, new_tracker.app_id())); |
526 app_root_by_app_id_[new_tracker.app_id()] = new_tracker.tracker_id(); | 526 app_root_by_app_id_[new_tracker.app_id()] = new_tracker.tracker_id(); |
527 } | 527 } |
528 | 528 |
529 void MetadataDatabaseIndex::UpdateInAppIDIndex( | 529 void MetadataDatabaseIndex::UpdateInAppIDIndex( |
530 const FileTracker& old_tracker, | 530 const FileTracker& old_tracker, |
531 const FileTracker& new_tracker) { | 531 const FileTracker& new_tracker) { |
532 DCHECK_EQ(old_tracker.tracker_id(), new_tracker.tracker_id()); | 532 DCHECK_EQ(old_tracker.tracker_id(), new_tracker.tracker_id()); |
533 | 533 |
534 if (IsAppRoot(old_tracker) && !IsAppRoot(new_tracker)) { | 534 if (IsAppRoot(old_tracker) && !IsAppRoot(new_tracker)) { |
535 DCHECK(old_tracker.active()); | 535 DCHECK(old_tracker.active()); |
536 DCHECK(!new_tracker.active()); | 536 DCHECK(!new_tracker.active()); |
537 DCHECK(ContainsKey(app_root_by_app_id_, old_tracker.app_id())); | 537 DCHECK(base::ContainsKey(app_root_by_app_id_, old_tracker.app_id())); |
538 | 538 |
539 DVLOG(3) << " Remove from app_root_by_app_id_: " << old_tracker.app_id(); | 539 DVLOG(3) << " Remove from app_root_by_app_id_: " << old_tracker.app_id(); |
540 | 540 |
541 app_root_by_app_id_.erase(old_tracker.app_id()); | 541 app_root_by_app_id_.erase(old_tracker.app_id()); |
542 } else if (!IsAppRoot(old_tracker) && IsAppRoot(new_tracker)) { | 542 } else if (!IsAppRoot(old_tracker) && IsAppRoot(new_tracker)) { |
543 DCHECK(!old_tracker.active()); | 543 DCHECK(!old_tracker.active()); |
544 DCHECK(new_tracker.active()); | 544 DCHECK(new_tracker.active()); |
545 DCHECK(!ContainsKey(app_root_by_app_id_, new_tracker.app_id())); | 545 DCHECK(!base::ContainsKey(app_root_by_app_id_, new_tracker.app_id())); |
546 | 546 |
547 DVLOG(3) << " Add to app_root_by_app_id_: " << new_tracker.app_id(); | 547 DVLOG(3) << " Add to app_root_by_app_id_: " << new_tracker.app_id(); |
548 | 548 |
549 app_root_by_app_id_[new_tracker.app_id()] = new_tracker.tracker_id(); | 549 app_root_by_app_id_[new_tracker.app_id()] = new_tracker.tracker_id(); |
550 } | 550 } |
551 } | 551 } |
552 | 552 |
553 void MetadataDatabaseIndex::RemoveFromAppIDIndex( | 553 void MetadataDatabaseIndex::RemoveFromAppIDIndex( |
554 const FileTracker& tracker) { | 554 const FileTracker& tracker) { |
555 if (IsAppRoot(tracker)) { | 555 if (IsAppRoot(tracker)) { |
556 DCHECK(tracker.active()); | 556 DCHECK(tracker.active()); |
557 DCHECK(ContainsKey(app_root_by_app_id_, tracker.app_id())); | 557 DCHECK(base::ContainsKey(app_root_by_app_id_, tracker.app_id())); |
558 | 558 |
559 DVLOG(3) << " Remove from app_root_by_app_id_: " << tracker.app_id(); | 559 DVLOG(3) << " Remove from app_root_by_app_id_: " << tracker.app_id(); |
560 | 560 |
561 app_root_by_app_id_.erase(tracker.app_id()); | 561 app_root_by_app_id_.erase(tracker.app_id()); |
562 } | 562 } |
563 } | 563 } |
564 | 564 |
565 void MetadataDatabaseIndex::AddToFileIDIndexes( | 565 void MetadataDatabaseIndex::AddToFileIDIndexes( |
566 const FileTracker& new_tracker) { | 566 const FileTracker& new_tracker) { |
567 DVLOG(3) << " Add to trackers_by_file_id_: " << new_tracker.file_id(); | 567 DVLOG(3) << " Add to trackers_by_file_id_: " << new_tracker.file_id(); |
568 | 568 |
569 trackers_by_file_id_[new_tracker.file_id()].Insert(new_tracker); | 569 trackers_by_file_id_[new_tracker.file_id()].Insert(new_tracker); |
570 | 570 |
571 if (trackers_by_file_id_[new_tracker.file_id()].size() > 1) { | 571 if (trackers_by_file_id_[new_tracker.file_id()].size() > 1) { |
572 DVLOG_IF(3, !ContainsKey(multi_tracker_file_ids_, new_tracker.file_id())) | 572 DVLOG_IF(3, |
| 573 !base::ContainsKey(multi_tracker_file_ids_, new_tracker.file_id())) |
573 << " Add to multi_tracker_file_ids_: " << new_tracker.file_id(); | 574 << " Add to multi_tracker_file_ids_: " << new_tracker.file_id(); |
574 multi_tracker_file_ids_.insert(new_tracker.file_id()); | 575 multi_tracker_file_ids_.insert(new_tracker.file_id()); |
575 } | 576 } |
576 } | 577 } |
577 | 578 |
578 void MetadataDatabaseIndex::UpdateInFileIDIndexes( | 579 void MetadataDatabaseIndex::UpdateInFileIDIndexes( |
579 const FileTracker& old_tracker, | 580 const FileTracker& old_tracker, |
580 const FileTracker& new_tracker) { | 581 const FileTracker& new_tracker) { |
581 DCHECK_EQ(old_tracker.tracker_id(), new_tracker.tracker_id()); | 582 DCHECK_EQ(old_tracker.tracker_id(), new_tracker.tracker_id()); |
582 DCHECK_EQ(old_tracker.file_id(), new_tracker.file_id()); | 583 DCHECK_EQ(old_tracker.file_id(), new_tracker.file_id()); |
583 | 584 |
584 std::string file_id = new_tracker.file_id(); | 585 std::string file_id = new_tracker.file_id(); |
585 DCHECK(ContainsKey(trackers_by_file_id_, file_id)); | 586 DCHECK(base::ContainsKey(trackers_by_file_id_, file_id)); |
586 | 587 |
587 if (old_tracker.active() && !new_tracker.active()) | 588 if (old_tracker.active() && !new_tracker.active()) |
588 trackers_by_file_id_[file_id].Deactivate(new_tracker.tracker_id()); | 589 trackers_by_file_id_[file_id].Deactivate(new_tracker.tracker_id()); |
589 else if (!old_tracker.active() && new_tracker.active()) | 590 else if (!old_tracker.active() && new_tracker.active()) |
590 trackers_by_file_id_[file_id].Activate(new_tracker.tracker_id()); | 591 trackers_by_file_id_[file_id].Activate(new_tracker.tracker_id()); |
591 } | 592 } |
592 | 593 |
593 void MetadataDatabaseIndex::RemoveFromFileIDIndexes( | 594 void MetadataDatabaseIndex::RemoveFromFileIDIndexes( |
594 const FileTracker& tracker) { | 595 const FileTracker& tracker) { |
595 TrackerIDsByFileID::iterator found = | 596 TrackerIDsByFileID::iterator found = |
596 trackers_by_file_id_.find(tracker.file_id()); | 597 trackers_by_file_id_.find(tracker.file_id()); |
597 if (found == trackers_by_file_id_.end()) { | 598 if (found == trackers_by_file_id_.end()) { |
598 NOTREACHED(); | 599 NOTREACHED(); |
599 return; | 600 return; |
600 } | 601 } |
601 | 602 |
602 DVLOG(3) << " Remove from trackers_by_file_id_: " | 603 DVLOG(3) << " Remove from trackers_by_file_id_: " |
603 << tracker.tracker_id(); | 604 << tracker.tracker_id(); |
604 found->second.Erase(tracker.tracker_id()); | 605 found->second.Erase(tracker.tracker_id()); |
605 | 606 |
606 if (trackers_by_file_id_[tracker.file_id()].size() <= 1) { | 607 if (trackers_by_file_id_[tracker.file_id()].size() <= 1) { |
607 DVLOG_IF(3, ContainsKey(multi_tracker_file_ids_, tracker.file_id())) | 608 DVLOG_IF(3, base::ContainsKey(multi_tracker_file_ids_, tracker.file_id())) |
608 << " Remove from multi_tracker_file_ids_: " << tracker.file_id(); | 609 << " Remove from multi_tracker_file_ids_: " << tracker.file_id(); |
609 multi_tracker_file_ids_.erase(tracker.file_id()); | 610 multi_tracker_file_ids_.erase(tracker.file_id()); |
610 } | 611 } |
611 | 612 |
612 if (found->second.empty()) | 613 if (found->second.empty()) |
613 trackers_by_file_id_.erase(found); | 614 trackers_by_file_id_.erase(found); |
614 } | 615 } |
615 | 616 |
616 void MetadataDatabaseIndex::AddToPathIndexes( | 617 void MetadataDatabaseIndex::AddToPathIndexes( |
617 const FileTracker& new_tracker) { | 618 const FileTracker& new_tracker) { |
618 int64_t parent = new_tracker.parent_tracker_id(); | 619 int64_t parent = new_tracker.parent_tracker_id(); |
619 std::string title = GetTrackerTitle(new_tracker); | 620 std::string title = GetTrackerTitle(new_tracker); |
620 | 621 |
621 DVLOG(3) << " Add to trackers_by_parent_and_title_: " | 622 DVLOG(3) << " Add to trackers_by_parent_and_title_: " |
622 << parent << " " << title; | 623 << parent << " " << title; |
623 | 624 |
624 trackers_by_parent_and_title_[parent][title].Insert(new_tracker); | 625 trackers_by_parent_and_title_[parent][title].Insert(new_tracker); |
625 | 626 |
626 if (trackers_by_parent_and_title_[parent][title].size() > 1 && | 627 if (trackers_by_parent_and_title_[parent][title].size() > 1 && |
627 !title.empty()) { | 628 !title.empty()) { |
628 DVLOG_IF(3, !ContainsKey(multi_backing_file_paths_, | 629 DVLOG_IF(3, !base::ContainsKey(multi_backing_file_paths_, |
629 ParentIDAndTitle(parent, title))) | 630 ParentIDAndTitle(parent, title))) |
630 << " Add to multi_backing_file_paths_: " << parent << " " << title; | 631 << " Add to multi_backing_file_paths_: " << parent << " " << title; |
631 multi_backing_file_paths_.insert(ParentIDAndTitle(parent, title)); | 632 multi_backing_file_paths_.insert(ParentIDAndTitle(parent, title)); |
632 } | 633 } |
633 } | 634 } |
634 | 635 |
635 void MetadataDatabaseIndex::UpdateInPathIndexes( | 636 void MetadataDatabaseIndex::UpdateInPathIndexes( |
636 const FileTracker& old_tracker, | 637 const FileTracker& old_tracker, |
637 const FileTracker& new_tracker) { | 638 const FileTracker& new_tracker) { |
638 DCHECK_EQ(old_tracker.tracker_id(), new_tracker.tracker_id()); | 639 DCHECK_EQ(old_tracker.tracker_id(), new_tracker.tracker_id()); |
639 DCHECK_EQ(old_tracker.parent_tracker_id(), new_tracker.parent_tracker_id()); | 640 DCHECK_EQ(old_tracker.parent_tracker_id(), new_tracker.parent_tracker_id()); |
(...skipping 20 matching lines...) Expand all Loading... |
660 NOTREACHED(); | 661 NOTREACHED(); |
661 } | 662 } |
662 | 663 |
663 DVLOG(3) << " Add to trackers_by_parent_and_title_: " | 664 DVLOG(3) << " Add to trackers_by_parent_and_title_: " |
664 << parent << " " << title; | 665 << parent << " " << title; |
665 | 666 |
666 (*trackers_by_title)[title].Insert(new_tracker); | 667 (*trackers_by_title)[title].Insert(new_tracker); |
667 | 668 |
668 if (trackers_by_parent_and_title_[parent][old_title].size() <= 1 && | 669 if (trackers_by_parent_and_title_[parent][old_title].size() <= 1 && |
669 !old_title.empty()) { | 670 !old_title.empty()) { |
670 DVLOG_IF(3, ContainsKey(multi_backing_file_paths_, | 671 DVLOG_IF(3, base::ContainsKey(multi_backing_file_paths_, |
671 ParentIDAndTitle(parent, old_title))) | 672 ParentIDAndTitle(parent, old_title))) |
672 << " Remove from multi_backing_file_paths_: " | 673 << " Remove from multi_backing_file_paths_: " << parent << " " |
673 << parent << " " << old_title; | 674 << old_title; |
674 multi_backing_file_paths_.erase(ParentIDAndTitle(parent, old_title)); | 675 multi_backing_file_paths_.erase(ParentIDAndTitle(parent, old_title)); |
675 } | 676 } |
676 | 677 |
677 if (trackers_by_parent_and_title_[parent][title].size() > 1 && | 678 if (trackers_by_parent_and_title_[parent][title].size() > 1 && |
678 !title.empty()) { | 679 !title.empty()) { |
679 DVLOG_IF(3, !ContainsKey(multi_backing_file_paths_, | 680 DVLOG_IF(3, !base::ContainsKey(multi_backing_file_paths_, |
680 ParentIDAndTitle(parent, title))) | 681 ParentIDAndTitle(parent, title))) |
681 << " Add to multi_backing_file_paths_: " << parent << " " << title; | 682 << " Add to multi_backing_file_paths_: " << parent << " " << title; |
682 multi_backing_file_paths_.insert(ParentIDAndTitle(parent, title)); | 683 multi_backing_file_paths_.insert(ParentIDAndTitle(parent, title)); |
683 } | 684 } |
684 | 685 |
685 return; | 686 return; |
686 } | 687 } |
687 | 688 |
688 if (old_tracker.active() && !new_tracker.active()) | 689 if (old_tracker.active() && !new_tracker.active()) |
689 trackers_by_parent_and_title_[parent][title].Deactivate(tracker_id); | 690 trackers_by_parent_and_title_[parent][title].Deactivate(tracker_id); |
690 else if (!old_tracker.active() && new_tracker.active()) | 691 else if (!old_tracker.active() && new_tracker.active()) |
691 trackers_by_parent_and_title_[parent][title].Activate(tracker_id); | 692 trackers_by_parent_and_title_[parent][title].Activate(tracker_id); |
692 } | 693 } |
693 | 694 |
694 void MetadataDatabaseIndex::RemoveFromPathIndexes( | 695 void MetadataDatabaseIndex::RemoveFromPathIndexes( |
695 const FileTracker& tracker) { | 696 const FileTracker& tracker) { |
696 int64_t tracker_id = tracker.tracker_id(); | 697 int64_t tracker_id = tracker.tracker_id(); |
697 int64_t parent = tracker.parent_tracker_id(); | 698 int64_t parent = tracker.parent_tracker_id(); |
698 std::string title = GetTrackerTitle(tracker); | 699 std::string title = GetTrackerTitle(tracker); |
699 | 700 |
700 DCHECK(ContainsKey(trackers_by_parent_and_title_, parent)); | 701 DCHECK(base::ContainsKey(trackers_by_parent_and_title_, parent)); |
701 DCHECK(ContainsKey(trackers_by_parent_and_title_[parent], title)); | 702 DCHECK(base::ContainsKey(trackers_by_parent_and_title_[parent], title)); |
702 | 703 |
703 DVLOG(3) << " Remove from trackers_by_parent_and_title_: " | 704 DVLOG(3) << " Remove from trackers_by_parent_and_title_: " |
704 << parent << " " << title; | 705 << parent << " " << title; |
705 | 706 |
706 trackers_by_parent_and_title_[parent][title].Erase(tracker_id); | 707 trackers_by_parent_and_title_[parent][title].Erase(tracker_id); |
707 | 708 |
708 if (trackers_by_parent_and_title_[parent][title].size() <= 1 && | 709 if (trackers_by_parent_and_title_[parent][title].size() <= 1 && |
709 !title.empty()) { | 710 !title.empty()) { |
710 DVLOG_IF(3, ContainsKey(multi_backing_file_paths_, | 711 DVLOG_IF(3, base::ContainsKey(multi_backing_file_paths_, |
711 ParentIDAndTitle(parent, title))) | 712 ParentIDAndTitle(parent, title))) |
712 << " Remove from multi_backing_file_paths_: " | 713 << " Remove from multi_backing_file_paths_: " << parent << " " |
713 << parent << " " << title; | 714 << title; |
714 multi_backing_file_paths_.erase(ParentIDAndTitle(parent, title)); | 715 multi_backing_file_paths_.erase(ParentIDAndTitle(parent, title)); |
715 } | 716 } |
716 | 717 |
717 if (trackers_by_parent_and_title_[parent][title].empty()) { | 718 if (trackers_by_parent_and_title_[parent][title].empty()) { |
718 trackers_by_parent_and_title_[parent].erase(title); | 719 trackers_by_parent_and_title_[parent].erase(title); |
719 if (trackers_by_parent_and_title_[parent].empty()) | 720 if (trackers_by_parent_and_title_[parent].empty()) |
720 trackers_by_parent_and_title_.erase(parent); | 721 trackers_by_parent_and_title_.erase(parent); |
721 } | 722 } |
722 } | 723 } |
723 | 724 |
724 void MetadataDatabaseIndex::AddToDirtyTrackerIndexes( | 725 void MetadataDatabaseIndex::AddToDirtyTrackerIndexes( |
725 const FileTracker& new_tracker) { | 726 const FileTracker& new_tracker) { |
726 DCHECK(!ContainsKey(dirty_trackers_, new_tracker.tracker_id())); | 727 DCHECK(!base::ContainsKey(dirty_trackers_, new_tracker.tracker_id())); |
727 DCHECK(!ContainsKey(demoted_dirty_trackers_, new_tracker.tracker_id())); | 728 DCHECK(!base::ContainsKey(demoted_dirty_trackers_, new_tracker.tracker_id())); |
728 | 729 |
729 if (new_tracker.dirty()) { | 730 if (new_tracker.dirty()) { |
730 DVLOG(3) << " Add to dirty_trackers_: " << new_tracker.tracker_id(); | 731 DVLOG(3) << " Add to dirty_trackers_: " << new_tracker.tracker_id(); |
731 dirty_trackers_.insert(new_tracker.tracker_id()); | 732 dirty_trackers_.insert(new_tracker.tracker_id()); |
732 } | 733 } |
733 } | 734 } |
734 | 735 |
735 void MetadataDatabaseIndex::UpdateInDirtyTrackerIndexes( | 736 void MetadataDatabaseIndex::UpdateInDirtyTrackerIndexes( |
736 const FileTracker& old_tracker, | 737 const FileTracker& old_tracker, |
737 const FileTracker& new_tracker) { | 738 const FileTracker& new_tracker) { |
738 DCHECK_EQ(old_tracker.tracker_id(), new_tracker.tracker_id()); | 739 DCHECK_EQ(old_tracker.tracker_id(), new_tracker.tracker_id()); |
739 | 740 |
740 int64_t tracker_id = new_tracker.tracker_id(); | 741 int64_t tracker_id = new_tracker.tracker_id(); |
741 if (old_tracker.dirty() && !new_tracker.dirty()) { | 742 if (old_tracker.dirty() && !new_tracker.dirty()) { |
742 DCHECK(ContainsKey(dirty_trackers_, tracker_id) || | 743 DCHECK(base::ContainsKey(dirty_trackers_, tracker_id) || |
743 ContainsKey(demoted_dirty_trackers_, tracker_id)); | 744 base::ContainsKey(demoted_dirty_trackers_, tracker_id)); |
744 | 745 |
745 DVLOG(3) << " Remove from dirty_trackers_: " << tracker_id; | 746 DVLOG(3) << " Remove from dirty_trackers_: " << tracker_id; |
746 | 747 |
747 dirty_trackers_.erase(tracker_id); | 748 dirty_trackers_.erase(tracker_id); |
748 demoted_dirty_trackers_.erase(tracker_id); | 749 demoted_dirty_trackers_.erase(tracker_id); |
749 } else if (!old_tracker.dirty() && new_tracker.dirty()) { | 750 } else if (!old_tracker.dirty() && new_tracker.dirty()) { |
750 DCHECK(!ContainsKey(dirty_trackers_, tracker_id)); | 751 DCHECK(!base::ContainsKey(dirty_trackers_, tracker_id)); |
751 DCHECK(!ContainsKey(demoted_dirty_trackers_, tracker_id)); | 752 DCHECK(!base::ContainsKey(demoted_dirty_trackers_, tracker_id)); |
752 | 753 |
753 DVLOG(3) << " Add to dirty_trackers_: " << tracker_id; | 754 DVLOG(3) << " Add to dirty_trackers_: " << tracker_id; |
754 | 755 |
755 dirty_trackers_.insert(tracker_id); | 756 dirty_trackers_.insert(tracker_id); |
756 } | 757 } |
757 } | 758 } |
758 | 759 |
759 void MetadataDatabaseIndex::RemoveFromDirtyTrackerIndexes( | 760 void MetadataDatabaseIndex::RemoveFromDirtyTrackerIndexes( |
760 const FileTracker& tracker) { | 761 const FileTracker& tracker) { |
761 if (tracker.dirty()) { | 762 if (tracker.dirty()) { |
762 int64_t tracker_id = tracker.tracker_id(); | 763 int64_t tracker_id = tracker.tracker_id(); |
763 DCHECK(ContainsKey(dirty_trackers_, tracker_id) || | 764 DCHECK(base::ContainsKey(dirty_trackers_, tracker_id) || |
764 ContainsKey(demoted_dirty_trackers_, tracker_id)); | 765 base::ContainsKey(demoted_dirty_trackers_, tracker_id)); |
765 | 766 |
766 DVLOG(3) << " Remove from dirty_trackers_: " << tracker_id; | 767 DVLOG(3) << " Remove from dirty_trackers_: " << tracker_id; |
767 dirty_trackers_.erase(tracker_id); | 768 dirty_trackers_.erase(tracker_id); |
768 | 769 |
769 demoted_dirty_trackers_.erase(tracker_id); | 770 demoted_dirty_trackers_.erase(tracker_id); |
770 } | 771 } |
771 } | 772 } |
772 | 773 |
773 } // namespace drive_backend | 774 } // namespace drive_backend |
774 } // namespace sync_file_system | 775 } // namespace sync_file_system |
OLD | NEW |