| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "webkit/browser/fileapi/obfuscated_file_util.h" | 5 #include "webkit/browser/fileapi/obfuscated_file_util.h" |
| 6 | 6 |
| 7 #include <queue> | 7 #include <queue> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 845 bool create, | 845 bool create, |
| 846 base::PlatformFileError* error_code) { | 846 base::PlatformFileError* error_code) { |
| 847 base::FilePath origin_dir = GetDirectoryForOrigin(origin, create, error_code); | 847 base::FilePath origin_dir = GetDirectoryForOrigin(origin, create, error_code); |
| 848 if (origin_dir.empty()) | 848 if (origin_dir.empty()) |
| 849 return base::FilePath(); | 849 return base::FilePath(); |
| 850 if (type_string.empty()) | 850 if (type_string.empty()) |
| 851 return origin_dir; | 851 return origin_dir; |
| 852 base::FilePath path = origin_dir.AppendASCII(type_string); | 852 base::FilePath path = origin_dir.AppendASCII(type_string); |
| 853 base::PlatformFileError error = base::PLATFORM_FILE_OK; | 853 base::PlatformFileError error = base::PLATFORM_FILE_OK; |
| 854 if (!base::DirectoryExists(path) && | 854 if (!base::DirectoryExists(path) && |
| 855 (!create || !file_util::CreateDirectory(path))) { | 855 (!create || !base::CreateDirectory(path))) { |
| 856 error = create ? | 856 error = create ? |
| 857 base::PLATFORM_FILE_ERROR_FAILED : | 857 base::PLATFORM_FILE_ERROR_FAILED : |
| 858 base::PLATFORM_FILE_ERROR_NOT_FOUND; | 858 base::PLATFORM_FILE_ERROR_NOT_FOUND; |
| 859 } | 859 } |
| 860 | 860 |
| 861 if (error_code) | 861 if (error_code) |
| 862 *error_code = error; | 862 *error_code = error; |
| 863 return path; | 863 return path; |
| 864 } | 864 } |
| 865 | 865 |
| (...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1203 if (!exists_in_db && exists_in_fs) { | 1203 if (!exists_in_db && exists_in_fs) { |
| 1204 if (!base::DeleteFile(path, true)) { | 1204 if (!base::DeleteFile(path, true)) { |
| 1205 if (error_code) | 1205 if (error_code) |
| 1206 *error_code = base::PLATFORM_FILE_ERROR_FAILED; | 1206 *error_code = base::PLATFORM_FILE_ERROR_FAILED; |
| 1207 return base::FilePath(); | 1207 return base::FilePath(); |
| 1208 } | 1208 } |
| 1209 exists_in_fs = false; | 1209 exists_in_fs = false; |
| 1210 } | 1210 } |
| 1211 | 1211 |
| 1212 if (!exists_in_fs) { | 1212 if (!exists_in_fs) { |
| 1213 if (!create || !file_util::CreateDirectory(path)) { | 1213 if (!create || !base::CreateDirectory(path)) { |
| 1214 if (error_code) | 1214 if (error_code) |
| 1215 *error_code = create ? | 1215 *error_code = create ? |
| 1216 base::PLATFORM_FILE_ERROR_FAILED : | 1216 base::PLATFORM_FILE_ERROR_FAILED : |
| 1217 base::PLATFORM_FILE_ERROR_NOT_FOUND; | 1217 base::PLATFORM_FILE_ERROR_NOT_FOUND; |
| 1218 return base::FilePath(); | 1218 return base::FilePath(); |
| 1219 } | 1219 } |
| 1220 } | 1220 } |
| 1221 | 1221 |
| 1222 if (error_code) | 1222 if (error_code) |
| 1223 *error_code = base::PLATFORM_FILE_OK; | 1223 *error_code = base::PLATFORM_FILE_OK; |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1255 timer_.reset(); | 1255 timer_.reset(); |
| 1256 } | 1256 } |
| 1257 | 1257 |
| 1258 bool ObfuscatedFileUtil::InitOriginDatabase(const GURL& origin_hint, | 1258 bool ObfuscatedFileUtil::InitOriginDatabase(const GURL& origin_hint, |
| 1259 bool create) { | 1259 bool create) { |
| 1260 if (origin_database_) | 1260 if (origin_database_) |
| 1261 return true; | 1261 return true; |
| 1262 | 1262 |
| 1263 if (!create && !base::DirectoryExists(file_system_directory_)) | 1263 if (!create && !base::DirectoryExists(file_system_directory_)) |
| 1264 return false; | 1264 return false; |
| 1265 if (!file_util::CreateDirectory(file_system_directory_)) { | 1265 if (!base::CreateDirectory(file_system_directory_)) { |
| 1266 LOG(WARNING) << "Failed to create FileSystem directory: " << | 1266 LOG(WARNING) << "Failed to create FileSystem directory: " << |
| 1267 file_system_directory_.value(); | 1267 file_system_directory_.value(); |
| 1268 return false; | 1268 return false; |
| 1269 } | 1269 } |
| 1270 | 1270 |
| 1271 SandboxPrioritizedOriginDatabase* prioritized_origin_database = | 1271 SandboxPrioritizedOriginDatabase* prioritized_origin_database = |
| 1272 new SandboxPrioritizedOriginDatabase(file_system_directory_); | 1272 new SandboxPrioritizedOriginDatabase(file_system_directory_); |
| 1273 origin_database_.reset(prioritized_origin_database); | 1273 origin_database_.reset(prioritized_origin_database); |
| 1274 | 1274 |
| 1275 if (origin_hint.is_empty() || !HasIsolatedStorage(origin_hint)) | 1275 if (origin_hint.is_empty() || !HasIsolatedStorage(origin_hint)) |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1403 } | 1403 } |
| 1404 return error; | 1404 return error; |
| 1405 } | 1405 } |
| 1406 | 1406 |
| 1407 bool ObfuscatedFileUtil::HasIsolatedStorage(const GURL& origin) { | 1407 bool ObfuscatedFileUtil::HasIsolatedStorage(const GURL& origin) { |
| 1408 return special_storage_policy_.get() && | 1408 return special_storage_policy_.get() && |
| 1409 special_storage_policy_->HasIsolatedStorage(origin); | 1409 special_storage_policy_->HasIsolatedStorage(origin); |
| 1410 } | 1410 } |
| 1411 | 1411 |
| 1412 } // namespace fileapi | 1412 } // namespace fileapi |
| OLD | NEW |