Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(275)

Side by Side Diff: chrome/browser/sync_file_system/drive_backend_v1/drive_file_sync_service.cc

Issue 442383002: Move storage-related files from webkit/ to new top-level directory storage/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_v1/drive_file_sync_servi ce.h" 5 #include "chrome/browser/sync_file_system/drive_backend_v1/drive_file_sync_servi ce.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 20 matching lines...) Expand all
31 #include "chrome/browser/sync_file_system/sync_file_metadata.h" 31 #include "chrome/browser/sync_file_system/sync_file_metadata.h"
32 #include "chrome/browser/sync_file_system/sync_file_system.pb.h" 32 #include "chrome/browser/sync_file_system/sync_file_system.pb.h"
33 #include "chrome/browser/sync_file_system/sync_file_type.h" 33 #include "chrome/browser/sync_file_system/sync_file_type.h"
34 #include "chrome/browser/sync_file_system/syncable_file_system_util.h" 34 #include "chrome/browser/sync_file_system/syncable_file_system_util.h"
35 #include "content/public/browser/browser_thread.h" 35 #include "content/public/browser/browser_thread.h"
36 #include "extensions/browser/extension_system.h" 36 #include "extensions/browser/extension_system.h"
37 #include "extensions/browser/extension_system_provider.h" 37 #include "extensions/browser/extension_system_provider.h"
38 #include "extensions/browser/extensions_browser_client.h" 38 #include "extensions/browser/extensions_browser_client.h"
39 #include "extensions/common/constants.h" 39 #include "extensions/common/constants.h"
40 #include "extensions/common/extension.h" 40 #include "extensions/common/extension.h"
41 #include "webkit/browser/fileapi/file_system_url.h" 41 #include "storage/browser/fileapi/file_system_url.h"
42 #include "webkit/common/blob/scoped_file.h" 42 #include "storage/common/blob/scoped_file.h"
43 #include "webkit/common/fileapi/file_system_util.h" 43 #include "storage/common/fileapi/file_system_util.h"
44 44
45 using fileapi::FileSystemURL; 45 using storage::FileSystemURL;
46 46
47 namespace sync_file_system { 47 namespace sync_file_system {
48 48
49 typedef RemoteFileSyncService::OriginStatusMap OriginStatusMap; 49 typedef RemoteFileSyncService::OriginStatusMap OriginStatusMap;
50 50
51 namespace { 51 namespace {
52 52
53 const base::FilePath::CharType kTempDirName[] = FILE_PATH_LITERAL("tmp"); 53 const base::FilePath::CharType kTempDirName[] = FILE_PATH_LITERAL("tmp");
54 54
55 void EmptyStatusCallback(SyncStatusCode status) {} 55 void EmptyStatusCallback(SyncStatusCode status) {}
(...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 metadata.set_md5_checksum(std::string()); 793 metadata.set_md5_checksum(std::string());
794 metadata.set_conflicted(false); 794 metadata.set_conflicted(false);
795 metadata.set_to_be_fetched(true); 795 metadata.set_to_be_fetched(true);
796 796
797 if (file_type == SYNC_FILE_TYPE_FILE) 797 if (file_type == SYNC_FILE_TYPE_FILE)
798 metadata.set_type(DriveMetadata::RESOURCE_TYPE_FILE); 798 metadata.set_type(DriveMetadata::RESOURCE_TYPE_FILE);
799 else 799 else
800 metadata.set_type(DriveMetadata::RESOURCE_TYPE_FOLDER); 800 metadata.set_type(DriveMetadata::RESOURCE_TYPE_FOLDER);
801 801
802 base::FilePath path = TitleToPath(entry.title()); 802 base::FilePath path = TitleToPath(entry.title());
803 fileapi::FileSystemURL url(CreateSyncableFileSystemURL( 803 storage::FileSystemURL url(CreateSyncableFileSystemURL(origin, path));
804 origin, path));
805 // TODO(calvinlo): Write metadata and origin data as single batch command 804 // TODO(calvinlo): Write metadata and origin data as single batch command
806 // so it's not possible for the DB to contain a DriveMetadata with an 805 // so it's not possible for the DB to contain a DriveMetadata with an
807 // unknown origin. 806 // unknown origin.
808 metadata_store_->UpdateEntry(url, metadata, 807 metadata_store_->UpdateEntry(url, metadata,
809 base::Bind(&EmptyStatusCallback)); 808 base::Bind(&EmptyStatusCallback));
810 809
811 AppendFetchChange(origin, path, entry.resource_id(), file_type); 810 AppendFetchChange(origin, path, entry.resource_id(), file_type);
812 } 811 }
813 812
814 GURL next_feed_url; 813 GURL next_feed_url;
(...skipping 11 matching lines...) Expand all
826 825
827 metadata_store_->AddIncrementalSyncOrigin(origin, resource_id); 826 metadata_store_->AddIncrementalSyncOrigin(origin, resource_id);
828 may_have_unfetched_changes_ = true; 827 may_have_unfetched_changes_ = true;
829 callback.Run(SYNC_STATUS_OK); 828 callback.Run(SYNC_STATUS_OK);
830 } 829 }
831 830
832 void DriveFileSyncService::DidProcessRemoteChange( 831 void DriveFileSyncService::DidProcessRemoteChange(
833 const SyncFileCallback& sync_callback, 832 const SyncFileCallback& sync_callback,
834 const SyncStatusCallback& completion_callback, 833 const SyncStatusCallback& completion_callback,
835 SyncStatusCode status) { 834 SyncStatusCode status) {
836 fileapi::FileSystemURL url; 835 storage::FileSystemURL url;
837 if (running_remote_sync_task_) 836 if (running_remote_sync_task_)
838 url = running_remote_sync_task_->url(); 837 url = running_remote_sync_task_->url();
839 running_remote_sync_task_.reset(); 838 running_remote_sync_task_.reset();
840 839
841 completion_callback.Run(status); 840 completion_callback.Run(status);
842 sync_callback.Run(status, url); 841 sync_callback.Run(status, url);
843 } 842 }
844 843
845 void DriveFileSyncService::DidApplyLocalChange( 844 void DriveFileSyncService::DidApplyLocalChange(
846 const SyncStatusCallback& callback, 845 const SyncStatusCallback& callback,
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 887
889 bool DriveFileSyncService::AppendRemoteChangeInternal( 888 bool DriveFileSyncService::AppendRemoteChangeInternal(
890 const GURL& origin, 889 const GURL& origin,
891 const base::FilePath& path, 890 const base::FilePath& path,
892 bool is_deleted, 891 bool is_deleted,
893 const std::string& remote_resource_id, 892 const std::string& remote_resource_id,
894 int64 changestamp, 893 int64 changestamp,
895 const std::string& remote_file_md5, 894 const std::string& remote_file_md5,
896 const base::Time& updated_time, 895 const base::Time& updated_time,
897 SyncFileType file_type) { 896 SyncFileType file_type) {
898 fileapi::FileSystemURL url(CreateSyncableFileSystemURL(origin, path)); 897 storage::FileSystemURL url(CreateSyncableFileSystemURL(origin, path));
899 DCHECK(url.is_valid()); 898 DCHECK(url.is_valid());
900 899
901 // Note that we create a normalized path from url.path() rather than 900 // Note that we create a normalized path from url.path() rather than
902 // path here (as FileSystemURL does extra normalization). 901 // path here (as FileSystemURL does extra normalization).
903 base::FilePath::StringType normalized_path = 902 base::FilePath::StringType normalized_path =
904 fileapi::VirtualPath::GetNormalizedFilePath(url.path()); 903 storage::VirtualPath::GetNormalizedFilePath(url.path());
905 904
906 std::string local_resource_id; 905 std::string local_resource_id;
907 std::string local_file_md5; 906 std::string local_file_md5;
908 907
909 DriveMetadata metadata; 908 DriveMetadata metadata;
910 bool has_db_entry = 909 bool has_db_entry =
911 (metadata_store_->ReadEntry(url, &metadata) == SYNC_STATUS_OK); 910 (metadata_store_->ReadEntry(url, &metadata) == SYNC_STATUS_OK);
912 if (has_db_entry) { 911 if (has_db_entry) {
913 local_resource_id = metadata.resource_id(); 912 local_resource_id = metadata.resource_id();
914 if (!metadata.to_be_fetched()) 913 if (!metadata.to_be_fetched())
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
986 << file_change.DebugString(); 985 << file_change.DebugString();
987 986
988 return true; 987 return true;
989 } 988 }
990 989
991 void DriveFileSyncService::RemoveRemoteChange( 990 void DriveFileSyncService::RemoveRemoteChange(
992 const FileSystemURL& url) { 991 const FileSystemURL& url) {
993 remote_change_handler_.RemoveChangeForURL(url); 992 remote_change_handler_.RemoveChangeForURL(url);
994 } 993 }
995 994
996 void DriveFileSyncService::MarkConflict( 995 void DriveFileSyncService::MarkConflict(const storage::FileSystemURL& url,
997 const fileapi::FileSystemURL& url, 996 DriveMetadata* drive_metadata,
998 DriveMetadata* drive_metadata, 997 const SyncStatusCallback& callback) {
999 const SyncStatusCallback& callback) {
1000 DCHECK(drive_metadata); 998 DCHECK(drive_metadata);
1001 DCHECK(!drive_metadata->resource_id().empty()); 999 DCHECK(!drive_metadata->resource_id().empty());
1002 drive_metadata->set_conflicted(true); 1000 drive_metadata->set_conflicted(true);
1003 drive_metadata->set_to_be_fetched(false); 1001 drive_metadata->set_to_be_fetched(false);
1004 metadata_store_->UpdateEntry( 1002 metadata_store_->UpdateEntry(
1005 url, *drive_metadata, base::Bind( 1003 url, *drive_metadata, base::Bind(
1006 &DriveFileSyncService::NotifyConflict, 1004 &DriveFileSyncService::NotifyConflict,
1007 AsWeakPtr(), url, callback)); 1005 AsWeakPtr(), url, callback));
1008 } 1006 }
1009 1007
1010 void DriveFileSyncService::NotifyConflict( 1008 void DriveFileSyncService::NotifyConflict(const storage::FileSystemURL& url,
1011 const fileapi::FileSystemURL& url, 1009 const SyncStatusCallback& callback,
1012 const SyncStatusCallback& callback, 1010 SyncStatusCode status) {
1013 SyncStatusCode status) {
1014 if (status != SYNC_STATUS_OK) { 1011 if (status != SYNC_STATUS_OK) {
1015 callback.Run(status); 1012 callback.Run(status);
1016 return; 1013 return;
1017 } 1014 }
1018 NotifyObserversFileStatusChanged(url, 1015 NotifyObserversFileStatusChanged(url,
1019 SYNC_FILE_STATUS_CONFLICTING, 1016 SYNC_FILE_STATUS_CONFLICTING,
1020 SYNC_ACTION_NONE, 1017 SYNC_ACTION_NONE,
1021 SYNC_DIRECTION_NONE); 1018 SYNC_DIRECTION_NONE);
1022 callback.Run(status); 1019 callback.Run(status);
1023 } 1020 }
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
1329 metadata_store_->SetOriginRootDirectory(origin, resource_id); 1326 metadata_store_->SetOriginRootDirectory(origin, resource_id);
1330 } 1327 }
1331 callback.Run(status, resource_id); 1328 callback.Run(status, resource_id);
1332 } 1329 }
1333 1330
1334 std::string DriveFileSyncService::sync_root_resource_id() { 1331 std::string DriveFileSyncService::sync_root_resource_id() {
1335 return metadata_store_->sync_root_directory(); 1332 return metadata_store_->sync_root_directory();
1336 } 1333 }
1337 1334
1338 } // namespace sync_file_system 1335 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698