summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync_file_system/local_sync_operation_resolver.h
diff options
context:
space:
mode:
authornhiroki@chromium.org <nhiroki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-02 10:52:00 +0000
committernhiroki@chromium.org <nhiroki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-02 10:52:00 +0000
commit237125abc5c65479b972175a134d794a4008a1be (patch)
tree5e34cd9167f2eca08bf029953a50b132eee4e19e /chrome/browser/sync_file_system/local_sync_operation_resolver.h
parent4415479527eff293988002d495a910f16d0c590c (diff)
downloadchromium_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.h15
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);