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/metadata_database.h" | 5 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <stack> | 8 #include <stack> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 1922 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1933 FileMetadata metadata; | 1933 FileMetadata metadata; |
1934 if (!index_->GetFileMetadata(tracker.file_id(), &metadata) || | 1934 if (!index_->GetFileMetadata(tracker.file_id(), &metadata) || |
1935 !tracker.active() || !tracker.dirty() || | 1935 !tracker.active() || !tracker.dirty() || |
1936 !tracker.has_synced_details() || | 1936 !tracker.has_synced_details() || |
1937 tracker.needs_folder_listing()) | 1937 tracker.needs_folder_listing()) |
1938 return false; | 1938 return false; |
1939 | 1939 |
1940 const FileDetails& remote_details = metadata.details(); | 1940 const FileDetails& remote_details = metadata.details(); |
1941 const FileDetails& synced_details = tracker.synced_details(); | 1941 const FileDetails& synced_details = tracker.synced_details(); |
1942 if (remote_details.title() != synced_details.title() || | 1942 if (remote_details.title() != synced_details.title() || |
1943 remote_details.md5() != synced_details.md5()) | 1943 remote_details.md5() != synced_details.md5() || |
| 1944 remote_details.missing() != synced_details.missing()) |
1944 return false; | 1945 return false; |
1945 | 1946 |
1946 std::set<std::string> parents; | 1947 std::set<std::string> parents; |
1947 for (int i = 0; i < remote_details.parent_folder_ids_size(); ++i) | 1948 for (int i = 0; i < remote_details.parent_folder_ids_size(); ++i) |
1948 parents.insert(remote_details.parent_folder_ids(i)); | 1949 parents.insert(remote_details.parent_folder_ids(i)); |
1949 | 1950 |
1950 for (int i = 0; i < synced_details.parent_folder_ids_size(); ++i) | 1951 for (int i = 0; i < synced_details.parent_folder_ids_size(); ++i) |
1951 if (parents.erase(synced_details.parent_folder_ids(i)) != 1) | 1952 if (parents.erase(synced_details.parent_folder_ids(i)) != 1) |
1952 return false; | 1953 return false; |
1953 | 1954 |
1954 if (!parents.empty()) | 1955 if (!parents.empty()) |
1955 return false; | 1956 return false; |
1956 | 1957 |
1957 return true; | 1958 return true; |
1958 } | 1959 } |
1959 | 1960 |
1960 } // namespace drive_backend | 1961 } // namespace drive_backend |
1961 } // namespace sync_file_system | 1962 } // namespace sync_file_system |
OLD | NEW |