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/common/fileapi/file_system_util.h" | 5 #include "webkit/common/fileapi/file_system_util.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
11 #include "base/strings/string_util.h" | 11 #include "base/strings/string_util.h" |
12 #include "base/strings/sys_string_conversions.h" | 12 #include "base/strings/sys_string_conversions.h" |
13 #include "base/strings/utf_string_conversions.h" | 13 #include "base/strings/utf_string_conversions.h" |
14 #include "net/base/escape.h" | 14 #include "net/base/escape.h" |
15 #include "net/base/net_errors.h" | 15 #include "net/base/net_errors.h" |
16 #include "url/gurl.h" | 16 #include "url/gurl.h" |
17 #include "webkit/common/database/database_identifier.h" | 17 #include "webkit/common/database/database_identifier.h" |
18 | 18 |
19 namespace fileapi { | 19 namespace storage { |
20 | 20 |
21 const char kPersistentDir[] = "/persistent"; | 21 const char kPersistentDir[] = "/persistent"; |
22 const char kTemporaryDir[] = "/temporary"; | 22 const char kTemporaryDir[] = "/temporary"; |
23 const char kIsolatedDir[] = "/isolated"; | 23 const char kIsolatedDir[] = "/isolated"; |
24 const char kExternalDir[] = "/external"; | 24 const char kExternalDir[] = "/external"; |
25 const char kTestDir[] = "/test"; | 25 const char kTestDir[] = "/test"; |
26 | 26 |
27 const base::FilePath::CharType VirtualPath::kRoot[] = FILE_PATH_LITERAL("/"); | 27 const base::FilePath::CharType VirtualPath::kRoot[] = FILE_PATH_LITERAL("/"); |
28 const base::FilePath::CharType VirtualPath::kSeparator = FILE_PATH_LITERAL('/'); | 28 const base::FilePath::CharType VirtualPath::kSeparator = FILE_PATH_LITERAL('/'); |
29 | 29 |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 return GURL(url + "/"); | 230 return GURL(url + "/"); |
231 // Internal types are always pointed via isolated or external URLs. | 231 // Internal types are always pointed via isolated or external URLs. |
232 default: | 232 default: |
233 NOTREACHED(); | 233 NOTREACHED(); |
234 } | 234 } |
235 NOTREACHED(); | 235 NOTREACHED(); |
236 return GURL(); | 236 return GURL(); |
237 } | 237 } |
238 | 238 |
239 std::string GetFileSystemName(const GURL& origin_url, FileSystemType type) { | 239 std::string GetFileSystemName(const GURL& origin_url, FileSystemType type) { |
240 std::string origin_identifier = | 240 std::string origin_identifier = storage::GetIdentifierFromOrigin(origin_url); |
241 webkit_database::GetIdentifierFromOrigin(origin_url); | |
242 std::string type_string = GetFileSystemTypeString(type); | 241 std::string type_string = GetFileSystemTypeString(type); |
243 DCHECK(!type_string.empty()); | 242 DCHECK(!type_string.empty()); |
244 return origin_identifier + ":" + type_string; | 243 return origin_identifier + ":" + type_string; |
245 } | 244 } |
246 | 245 |
247 FileSystemType QuotaStorageTypeToFileSystemType( | 246 FileSystemType QuotaStorageTypeToFileSystemType( |
248 quota::StorageType storage_type) { | 247 storage::StorageType storage_type) { |
249 switch (storage_type) { | 248 switch (storage_type) { |
250 case quota::kStorageTypeTemporary: | 249 case storage::kStorageTypeTemporary: |
251 return kFileSystemTypeTemporary; | 250 return kFileSystemTypeTemporary; |
252 case quota::kStorageTypePersistent: | 251 case storage::kStorageTypePersistent: |
253 return kFileSystemTypePersistent; | 252 return kFileSystemTypePersistent; |
254 case quota::kStorageTypeSyncable: | 253 case storage::kStorageTypeSyncable: |
255 return kFileSystemTypeSyncable; | 254 return kFileSystemTypeSyncable; |
256 case quota::kStorageTypeQuotaNotManaged: | 255 case storage::kStorageTypeQuotaNotManaged: |
257 case quota::kStorageTypeUnknown: | 256 case storage::kStorageTypeUnknown: |
258 return kFileSystemTypeUnknown; | 257 return kFileSystemTypeUnknown; |
259 } | 258 } |
260 return kFileSystemTypeUnknown; | 259 return kFileSystemTypeUnknown; |
261 } | 260 } |
262 | 261 |
263 quota::StorageType FileSystemTypeToQuotaStorageType(FileSystemType type) { | 262 storage::StorageType FileSystemTypeToQuotaStorageType(FileSystemType type) { |
264 switch (type) { | 263 switch (type) { |
265 case kFileSystemTypeTemporary: | 264 case kFileSystemTypeTemporary: |
266 return quota::kStorageTypeTemporary; | 265 return storage::kStorageTypeTemporary; |
267 case kFileSystemTypePersistent: | 266 case kFileSystemTypePersistent: |
268 return quota::kStorageTypePersistent; | 267 return storage::kStorageTypePersistent; |
269 case kFileSystemTypeSyncable: | 268 case kFileSystemTypeSyncable: |
270 case kFileSystemTypeSyncableForInternalSync: | 269 case kFileSystemTypeSyncableForInternalSync: |
271 return quota::kStorageTypeSyncable; | 270 return storage::kStorageTypeSyncable; |
272 case kFileSystemTypePluginPrivate: | 271 case kFileSystemTypePluginPrivate: |
273 return quota::kStorageTypeQuotaNotManaged; | 272 return storage::kStorageTypeQuotaNotManaged; |
274 default: | 273 default: |
275 return quota::kStorageTypeUnknown; | 274 return storage::kStorageTypeUnknown; |
276 } | 275 } |
277 } | 276 } |
278 | 277 |
279 std::string GetFileSystemTypeString(FileSystemType type) { | 278 std::string GetFileSystemTypeString(FileSystemType type) { |
280 switch (type) { | 279 switch (type) { |
281 case kFileSystemTypeTemporary: | 280 case kFileSystemTypeTemporary: |
282 return "Temporary"; | 281 return "Temporary"; |
283 case kFileSystemTypePersistent: | 282 case kFileSystemTypePersistent: |
284 return "Persistent"; | 283 return "Persistent"; |
285 case kFileSystemTypeIsolated: | 284 case kFileSystemTypeIsolated: |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 if (type_string == "External") { | 395 if (type_string == "External") { |
397 *type = blink::WebFileSystemTypeExternal; | 396 *type = blink::WebFileSystemTypeExternal; |
398 return true; | 397 return true; |
399 } | 398 } |
400 NOTREACHED(); | 399 NOTREACHED(); |
401 return false; | 400 return false; |
402 } | 401 } |
403 | 402 |
404 std::string GetIsolatedFileSystemName(const GURL& origin_url, | 403 std::string GetIsolatedFileSystemName(const GURL& origin_url, |
405 const std::string& filesystem_id) { | 404 const std::string& filesystem_id) { |
406 std::string name(fileapi::GetFileSystemName( | 405 std::string name( |
407 origin_url, fileapi::kFileSystemTypeIsolated)); | 406 storage::GetFileSystemName(origin_url, storage::kFileSystemTypeIsolated)); |
408 name.append("_"); | 407 name.append("_"); |
409 name.append(filesystem_id); | 408 name.append(filesystem_id); |
410 return name; | 409 return name; |
411 } | 410 } |
412 | 411 |
413 bool CrackIsolatedFileSystemName(const std::string& filesystem_name, | 412 bool CrackIsolatedFileSystemName(const std::string& filesystem_name, |
414 std::string* filesystem_id) { | 413 std::string* filesystem_id) { |
415 DCHECK(filesystem_id); | 414 DCHECK(filesystem_id); |
416 | 415 |
417 // |filesystem_name| is of the form {origin}:isolated_{filesystem_id}. | 416 // |filesystem_name| is of the form {origin}:isolated_{filesystem_id}. |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 case net::ERR_CONNECTION_ABORTED: | 501 case net::ERR_CONNECTION_ABORTED: |
503 return base::File::FILE_ERROR_ABORT; | 502 return base::File::FILE_ERROR_ABORT; |
504 case net::ERR_ADDRESS_INVALID: | 503 case net::ERR_ADDRESS_INVALID: |
505 case net::ERR_INVALID_URL: | 504 case net::ERR_INVALID_URL: |
506 return base::File::FILE_ERROR_INVALID_URL; | 505 return base::File::FILE_ERROR_INVALID_URL; |
507 default: | 506 default: |
508 return base::File::FILE_ERROR_FAILED; | 507 return base::File::FILE_ERROR_FAILED; |
509 } | 508 } |
510 } | 509 } |
511 | 510 |
512 } // namespace fileapi | 511 } // namespace storage |
OLD | NEW |