diff options
author | nhiroki@chromium.org <nhiroki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-02 10:52:00 +0000 |
---|---|---|
committer | nhiroki@chromium.org <nhiroki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-02 10:52:00 +0000 |
commit | 237125abc5c65479b972175a134d794a4008a1be (patch) | |
tree | 5e34cd9167f2eca08bf029953a50b132eee4e19e /chrome/browser/sync_file_system/local_sync_operation_resolver.h | |
parent | 4415479527eff293988002d495a910f16d0c590c (diff) | |
download | chromium_src-237125abc5c65479b972175a134d794a4008a1be.zip chromium_src-237125abc5c65479b972175a134d794a4008a1be.tar.gz chromium_src-237125abc5c65479b972175a134d794a4008a1be.tar.bz2 |
SyncFS: Fix wrong operation resolving in LocalSyncOperationResolver
Current implementation always does ADD_FILE operation even if
you update an existing file since LocalSyncOperationResolver
don't care of local metadata. This CL fixes the resolver behavior.
BUG=none
TEST=unit_tests --gtest_filter=\*LocalSyncOperationResolver\
Review URL: https://chromiumcodereview.appspot.com/14847002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197888 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sync_file_system/local_sync_operation_resolver.h')
-rw-r--r-- | chrome/browser/sync_file_system/local_sync_operation_resolver.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/chrome/browser/sync_file_system/local_sync_operation_resolver.h b/chrome/browser/sync_file_system/local_sync_operation_resolver.h index 0993df3..8a59aca 100644 --- a/chrome/browser/sync_file_system/local_sync_operation_resolver.h +++ b/chrome/browser/sync_file_system/local_sync_operation_resolver.h @@ -11,6 +11,7 @@ namespace sync_file_system { +class DriveMetadata; class FileChange; enum LocalSyncOperationType { @@ -33,30 +34,34 @@ class LocalSyncOperationResolver { const FileChange& local_file_change, bool has_remote_change, const FileChange& remote_file_change, - bool is_conflicting); + DriveMetadata* drive_metadata); private: static LocalSyncOperationType ResolveForAddOrUpdateFile( bool has_remote_change, - const FileChange& remote_file_change); + const FileChange& remote_file_change, + SyncFileType remote_file_type_in_metadata); static LocalSyncOperationType ResolveForAddOrUpdateFileInConflict( bool has_remote_change, const FileChange& remote_file_change); static LocalSyncOperationType ResolveForAddDirectory( bool has_remote_change, - const FileChange& remote_file_change); + const FileChange& remote_file_change, + SyncFileType remote_file_type_in_metadata); static LocalSyncOperationType ResolveForAddDirectoryInConflict( bool has_remote_change, const FileChange& remote_file_change); static LocalSyncOperationType ResolveForDeleteFile( bool has_remote_change, - const FileChange& remote_file_change); + const FileChange& remote_file_change, + SyncFileType remote_file_type_in_metadata); static LocalSyncOperationType ResolveForDeleteFileInConflict( bool has_remote_change, const FileChange& remote_file_change); static LocalSyncOperationType ResolveForDeleteDirectory( bool has_remote_change, - const FileChange& remote_file_change); + const FileChange& remote_file_change, + SyncFileType remote_file_type_in_metadata); static LocalSyncOperationType ResolveForDeleteDirectoryInConflict( bool has_remote_change, const FileChange& remote_file_change); |