| 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/fileapi/sandbox_mount_point_provider.h" | 5 #include "webkit/fileapi/sandbox_mount_point_provider.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 377 if (file_system_options_.is_incognito()) | 377 if (file_system_options_.is_incognito()) |
| 378 // TODO(kinuko): return an isolated temporary directory. | 378 // TODO(kinuko): return an isolated temporary directory. |
| 379 return FilePath(); | 379 return FilePath(); |
| 380 | 380 |
| 381 if (!IsAllowedScheme(origin_url)) | 381 if (!IsAllowedScheme(origin_url)) |
| 382 return FilePath(); | 382 return FilePath(); |
| 383 | 383 |
| 384 return GetBaseDirectoryForOriginAndType(origin_url, type, create); | 384 return GetBaseDirectoryForOriginAndType(origin_url, type, create); |
| 385 } | 385 } |
| 386 | 386 |
| 387 bool SandboxMountPointProvider::IsAccessAllowed(const GURL& origin_url, | 387 bool SandboxMountPointProvider::IsAccessAllowed(const FileSystemURL& url) { |
| 388 FileSystemType type, | 388 FileSystemType type = url.type(); |
| 389 const FilePath& unused) { | |
| 390 if (type != kFileSystemTypeTemporary && type != kFileSystemTypePersistent) | 389 if (type != kFileSystemTypeTemporary && type != kFileSystemTypePersistent) |
| 391 return false; | 390 return false; |
| 392 // We essentially depend on quota to do our access controls, so here | 391 // We essentially depend on quota to do our access controls, so here |
| 393 // we only check if the requested scheme is allowed or not. | 392 // we only check if the requested scheme is allowed or not. |
| 394 return IsAllowedScheme(origin_url); | 393 return IsAllowedScheme(url.origin()); |
| 395 } | 394 } |
| 396 | 395 |
| 397 bool SandboxMountPointProvider::IsRestrictedFileName(const FilePath& filename) | 396 bool SandboxMountPointProvider::IsRestrictedFileName(const FilePath& filename) |
| 398 const { | 397 const { |
| 399 if (filename.value().empty()) | 398 if (filename.value().empty()) |
| 400 return false; | 399 return false; |
| 401 | 400 |
| 402 for (size_t i = 0; i < arraysize(kRestrictedNames); ++i) { | 401 for (size_t i = 0; i < arraysize(kRestrictedNames); ++i) { |
| 403 // Exact match. | 402 // Exact match. |
| 404 if (filename.value() == kRestrictedNames[i]) | 403 if (filename.value() == kRestrictedNames[i]) |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 750 break; | 749 break; |
| 751 case base::PLATFORM_FILE_ERROR_FAILED: | 750 case base::PLATFORM_FILE_ERROR_FAILED: |
| 752 default: | 751 default: |
| 753 REPORT(kUnknownError); | 752 REPORT(kUnknownError); |
| 754 break; | 753 break; |
| 755 } | 754 } |
| 756 #undef REPORT | 755 #undef REPORT |
| 757 } | 756 } |
| 758 | 757 |
| 759 } // namespace fileapi | 758 } // namespace fileapi |
| OLD | NEW |