| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <algorithm> | 5 #include <algorithm> |
| 6 #include <set> | 6 #include <set> |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
| 11 #include "base/file_util.h" | 11 #include "base/file_util.h" |
| 12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
| 13 #include "base/message_loop.h" | 13 #include "base/message_loop.h" |
| 14 #include "base/platform_file.h" | 14 #include "base/platform_file.h" |
| 15 #include "base/scoped_temp_dir.h" | 15 #include "base/scoped_temp_dir.h" |
| 16 #include "base/sys_string_conversions.h" | 16 #include "base/sys_string_conversions.h" |
| 17 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
| 18 #include "webkit/fileapi/file_system_context.h" | 18 #include "webkit/fileapi/file_system_context.h" |
| 19 #include "webkit/fileapi/file_system_operation_context.h" | 19 #include "webkit/fileapi/file_system_operation_context.h" |
| 20 #include "webkit/fileapi/file_system_path_manager.h" | |
| 21 #include "webkit/fileapi/file_system_test_helper.h" | 20 #include "webkit/fileapi/file_system_test_helper.h" |
| 22 #include "webkit/fileapi/file_system_usage_cache.h" | 21 #include "webkit/fileapi/file_system_usage_cache.h" |
| 22 #include "webkit/fileapi/mock_file_system_options.h" |
| 23 #include "webkit/fileapi/obfuscated_file_util.h" | 23 #include "webkit/fileapi/obfuscated_file_util.h" |
| 24 #include "webkit/quota/mock_special_storage_policy.h" | 24 #include "webkit/quota/mock_special_storage_policy.h" |
| 25 #include "webkit/quota/quota_manager.h" | 25 #include "webkit/quota/quota_manager.h" |
| 26 #include "webkit/quota/quota_types.h" | 26 #include "webkit/quota/quota_types.h" |
| 27 | 27 |
| 28 using namespace fileapi; | 28 using namespace fileapi; |
| 29 | 29 |
| 30 namespace { | 30 namespace { |
| 31 | 31 |
| 32 FilePath UTF8ToFilePath(const std::string& str) { | 32 FilePath UTF8ToFilePath(const std::string& str) { |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 type_(kFileSystemTypeTemporary), | 135 type_(kFileSystemTypeTemporary), |
| 136 weak_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)), | 136 weak_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)), |
| 137 test_helper_(origin_, type_), | 137 test_helper_(origin_, type_), |
| 138 quota_status_(quota::kQuotaStatusUnknown), | 138 quota_status_(quota::kQuotaStatusUnknown), |
| 139 usage_(-1) { | 139 usage_(-1) { |
| 140 } | 140 } |
| 141 | 141 |
| 142 void SetUp() { | 142 void SetUp() { |
| 143 ASSERT_TRUE(data_dir_.CreateUniqueTempDir()); | 143 ASSERT_TRUE(data_dir_.CreateUniqueTempDir()); |
| 144 | 144 |
| 145 scoped_refptr<quota::SpecialStoragePolicy> storage_policy = |
| 146 new quota::MockSpecialStoragePolicy(); |
| 147 |
| 145 quota_manager_ = new quota::QuotaManager( | 148 quota_manager_ = new quota::QuotaManager( |
| 146 false /* is_incognito */, | 149 false /* is_incognito */, |
| 147 data_dir_.path(), | 150 data_dir_.path(), |
| 148 base::MessageLoopProxy::current(), | 151 base::MessageLoopProxy::current(), |
| 149 base::MessageLoopProxy::current(), | 152 base::MessageLoopProxy::current(), |
| 150 NULL /* special storage policy */); | 153 storage_policy); |
| 151 | 154 |
| 152 // Every time we create a new helper, it creates another context, which | 155 // Every time we create a new helper, it creates another context, which |
| 153 // creates another path manager, another sandbox_mount_point_provider, and | 156 // creates another path manager, another sandbox_mount_point_provider, and |
| 154 // another OFU. We need to pass in the context to skip all that. | 157 // another OFU. We need to pass in the context to skip all that. |
| 155 file_system_context_ = new FileSystemContext( | 158 file_system_context_ = new FileSystemContext( |
| 156 base::MessageLoopProxy::current(), | 159 base::MessageLoopProxy::current(), |
| 157 base::MessageLoopProxy::current(), | 160 base::MessageLoopProxy::current(), |
| 158 new quota::MockSpecialStoragePolicy(), | 161 storage_policy, |
| 159 quota_manager_->proxy(), | 162 quota_manager_->proxy(), |
| 160 data_dir_.path(), | 163 data_dir_.path(), |
| 161 false /* incognito */, | 164 new MockFileSystemOptions()); |
| 162 true /* allow_file_access_from_files */, | |
| 163 NULL /* path_manager */); | |
| 164 | 165 |
| 165 obfuscated_file_util_ = static_cast<ObfuscatedFileUtil*>( | 166 obfuscated_file_util_ = static_cast<ObfuscatedFileUtil*>( |
| 166 file_system_context_->path_manager()->GetFileUtil(type_)); | 167 file_system_context_->GetFileUtil(type_)); |
| 167 | 168 |
| 168 test_helper_.SetUp(file_system_context_.get(), | 169 test_helper_.SetUp(file_system_context_.get(), |
| 169 obfuscated_file_util_.get()); | 170 obfuscated_file_util_.get()); |
| 170 } | 171 } |
| 171 | 172 |
| 173 void TearDown() { |
| 174 quota_manager_ = NULL; |
| 175 test_helper_.TearDown(); |
| 176 } |
| 177 |
| 172 FileSystemOperationContext* NewContext(FileSystemTestOriginHelper* helper) { | 178 FileSystemOperationContext* NewContext(FileSystemTestOriginHelper* helper) { |
| 173 FileSystemOperationContext* context; | 179 FileSystemOperationContext* context; |
| 174 if (helper) | 180 if (helper) |
| 175 context = helper->NewOperationContext(); | 181 context = helper->NewOperationContext(); |
| 176 else | 182 else |
| 177 context = test_helper_.NewOperationContext(); | 183 context = test_helper_.NewOperationContext(); |
| 178 context->set_allowed_bytes_growth(1024 * 1024); // Big enough for all tests. | 184 context->set_allowed_bytes_growth(1024 * 1024); // Big enough for all tests. |
| 179 return context; | 185 return context; |
| 180 } | 186 } |
| 181 | 187 |
| (...skipping 1514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1696 TEST_F(ObfuscatedFileUtilTest, TestDirectoryTimestampForCopyAndMove) { | 1702 TEST_F(ObfuscatedFileUtilTest, TestDirectoryTimestampForCopyAndMove) { |
| 1697 TestDirectoryTimestampHelper( | 1703 TestDirectoryTimestampHelper( |
| 1698 FilePath(FILE_PATH_LITERAL("copy overwrite")), true, true); | 1704 FilePath(FILE_PATH_LITERAL("copy overwrite")), true, true); |
| 1699 TestDirectoryTimestampHelper( | 1705 TestDirectoryTimestampHelper( |
| 1700 FilePath(FILE_PATH_LITERAL("copy non-overwrite")), true, false); | 1706 FilePath(FILE_PATH_LITERAL("copy non-overwrite")), true, false); |
| 1701 TestDirectoryTimestampHelper( | 1707 TestDirectoryTimestampHelper( |
| 1702 FilePath(FILE_PATH_LITERAL("move overwrite")), false, true); | 1708 FilePath(FILE_PATH_LITERAL("move overwrite")), false, true); |
| 1703 TestDirectoryTimestampHelper( | 1709 TestDirectoryTimestampHelper( |
| 1704 FilePath(FILE_PATH_LITERAL("move non-overwrite")), false, false); | 1710 FilePath(FILE_PATH_LITERAL("move non-overwrite")), false, false); |
| 1705 } | 1711 } |
| OLD | NEW |