summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorcalvinlo@chromium.org <calvinlo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-10 12:32:36 +0000
committercalvinlo@chromium.org <calvinlo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-10 12:32:36 +0000
commite56165e234c45b3c73505e9d2ac81ce4906448ee (patch)
tree74e9734353a7d823e4086fc1ac5d4132d6ca4bcb /webkit
parent481e370e6059906a3ec12649cbaa89c7d9f0a2db (diff)
downloadchromium_src-e56165e234c45b3c73505e9d2ac81ce4906448ee.zip
chromium_src-e56165e234c45b3c73505e9d2ac81ce4906448ee.tar.gz
chromium_src-e56165e234c45b3c73505e9d2ac81ce4906448ee.tar.bz2
Replace legacy SyncableFileSystem code to use new utility functions now available in SyncableFileSystemUtil.
BUG=153965 Review URL: https://chromiumcodereview.appspot.com/11094042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161094 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/fileapi/file_system_context.cc14
-rw-r--r--webkit/fileapi/syncable/local_file_change_tracker.cc23
-rw-r--r--webkit/fileapi/syncable/local_file_change_tracker.h4
-rw-r--r--webkit/fileapi/syncable/local_file_change_tracker_unittest.cc31
4 files changed, 14 insertions, 58 deletions
diff --git a/webkit/fileapi/file_system_context.cc b/webkit/fileapi/file_system_context.cc
index 943fa48..962eff4 100644
--- a/webkit/fileapi/file_system_context.cc
+++ b/webkit/fileapi/file_system_context.cc
@@ -20,6 +20,7 @@
#include "webkit/fileapi/isolated_mount_point_provider.h"
#include "webkit/fileapi/sandbox_mount_point_provider.h"
#include "webkit/fileapi/syncable/local_file_change_tracker.h"
+#include "webkit/fileapi/syncable/syncable_file_system_util.h"
#include "webkit/fileapi/test_mount_point_provider.h"
#include "webkit/quota/quota_manager.h"
#include "webkit/quota/special_storage_policy.h"
@@ -204,16 +205,9 @@ void FileSystemContext::OpenSyncableFileSystem(
DCHECK(!callback.is_null());
DCHECK(type == kFileSystemTypeSyncable);
- IsolatedContext::GetInstance()->RegisterExternalFileSystem(
- mount_name,
- kFileSystemTypeSyncable,
- FilePath());
-
- std::string root = GetFileSystemRootURI(
- origin_url, kFileSystemTypeExternal).spec();
- root.append(mount_name);
- root.append("/");
- GURL root_url = GURL(root);
+ RegisterSyncableFileSystem(mount_name);
+
+ GURL root_url = GetSyncableFileSystemRootURI(origin_url, mount_name);
std::string name = GetFileSystemName(origin_url, kFileSystemTypeSyncable);
FileSystemMountPointProvider* mount_point_provider =
diff --git a/webkit/fileapi/syncable/local_file_change_tracker.cc b/webkit/fileapi/syncable/local_file_change_tracker.cc
index dbf0e36..f47dc1e 100644
--- a/webkit/fileapi/syncable/local_file_change_tracker.cc
+++ b/webkit/fileapi/syncable/local_file_change_tracker.cc
@@ -11,6 +11,7 @@
#include "webkit/fileapi/file_system_context.h"
#include "webkit/fileapi/file_system_util.h"
#include "webkit/fileapi/syncable/local_file_sync_status.h"
+#include "webkit/fileapi/syncable/syncable_file_system_util.h"
namespace fileapi {
@@ -150,24 +151,20 @@ void LocalFileChangeTracker::RecordChange(
SyncStatusCode LocalFileChangeTracker::MarkDirtyOnDatabase(
const FileSystemURL& url) {
- return tracker_db_->MarkDirty(SerializeExternalFileSystemURL(url));
-}
+ std::string serialized_url;
+ if (!SerializeSyncableFileSystemURL(url, &serialized_url))
+ return SYNC_FILE_ERROR_INVALID_URL;
-SyncStatusCode LocalFileChangeTracker::ClearDirtyOnDatabase(
- const FileSystemURL& url) {
- return tracker_db_->ClearDirty(SerializeExternalFileSystemURL(url));
+ return tracker_db_->MarkDirty(serialized_url);
}
-std::string LocalFileChangeTracker::SerializeExternalFileSystemURL(
+SyncStatusCode LocalFileChangeTracker::ClearDirtyOnDatabase(
const FileSystemURL& url) {
- return GetFileSystemRootURI(url.origin(), kFileSystemTypeExternal).spec() +
- url.filesystem_id() + "/" + url.path().AsUTF8Unsafe();
-}
+ std::string serialized_url;
+ if (!SerializeSyncableFileSystemURL(url, &serialized_url))
+ return SYNC_FILE_ERROR_INVALID_URL;
-bool LocalFileChangeTracker::DeserializeExternalFileSystemURL(
- const std::string& serialized_url, FileSystemURL* url) {
- *url = FileSystemURL(GURL(serialized_url));
- return url->is_valid();
+ return tracker_db_->ClearDirty(serialized_url);
}
// TrackerDB -------------------------------------------------------------------
diff --git a/webkit/fileapi/syncable/local_file_change_tracker.h b/webkit/fileapi/syncable/local_file_change_tracker.h
index 993a436..19bda58 100644
--- a/webkit/fileapi/syncable/local_file_change_tracker.h
+++ b/webkit/fileapi/syncable/local_file_change_tracker.h
@@ -83,10 +83,6 @@ class FILEAPI_EXPORT LocalFileChangeTracker
void RecordChange(const FileSystemURL& url, const FileChange& change);
- std::string SerializeExternalFileSystemURL(const FileSystemURL& url);
- bool DeserializeExternalFileSystemURL(
- const std::string& serialized_url, FileSystemURL* url);
-
scoped_refptr<base::SequencedTaskRunner> file_task_runner_;
FileChangeMap changes_;
diff --git a/webkit/fileapi/syncable/local_file_change_tracker_unittest.cc b/webkit/fileapi/syncable/local_file_change_tracker_unittest.cc
index f5b408f..64bcecf 100644
--- a/webkit/fileapi/syncable/local_file_change_tracker_unittest.cc
+++ b/webkit/fileapi/syncable/local_file_change_tracker_unittest.cc
@@ -78,16 +78,6 @@ class LocalFileChangeTrackerTest : public testing::Test {
return change_tracker_.get();
}
- std::string SerializeExternalFileSystemURL(const FileSystemURL& url) {
- return change_tracker_->SerializeExternalFileSystemURL(url);
- }
-
- bool DeserializeExternalFileSystemURL(
- const std::string& serialized_url, FileSystemURL* url) {
- return change_tracker_->DeserializeExternalFileSystemURL(
- serialized_url, url);
- }
-
void VerifyChange(const FileSystemURL& url,
const FileChange& expected_change) {
SCOPED_TRACE(testing::Message() << url.spec() <<
@@ -156,27 +146,6 @@ TEST_F(LocalFileChangeTrackerTest, GetChanges) {
FileChange::FILE_TYPE_FILE));
}
-TEST_F(LocalFileChangeTrackerTest, SerializeExternalFileSystemURL) {
- const std::string kFileSystemRootURI = "filesystem:http://foo.com/external/";
-
-#if defined(FILE_PATH_USES_WIN_SEPARATORS)
- const std::string kRelativePath = "dir a\\file";
-#else
- const std::string kRelativePath = "dir a/file";
-#endif // FILE_PATH_USES_WIN_SEPARATORS
-
- const std::string kExternalFileSystemURL =
- kFileSystemRootURI + kExternalFileSystemID + "/" + kRelativePath;
- const FileSystemURL url = FileSystemURL(GURL(kExternalFileSystemURL));
-
- const std::string serialized = SerializeExternalFileSystemURL(url);
- EXPECT_EQ(kExternalFileSystemURL, serialized);
-
- FileSystemURL deserialized;
- EXPECT_TRUE(DeserializeExternalFileSystemURL(serialized, &deserialized));
- EXPECT_EQ(url, deserialized);
-}
-
// TODO(nhiroki): add unittests to ensure the database works successfully.
} // namespace fileapi