Index: webkit/fileapi/isolated_context.cc |
diff --git a/webkit/fileapi/isolated_context.cc b/webkit/fileapi/isolated_context.cc |
index 1433e7240b2dcdcc6010b760f2586dbe46a70cd4..601626083a9b766db60d3b9681c3abe3d6751c7c 100644 |
--- a/webkit/fileapi/isolated_context.cc |
+++ b/webkit/fileapi/isolated_context.cc |
@@ -12,6 +12,7 @@ |
#include "base/string_number_conversions.h" |
#include "base/string_util.h" |
#include "base/stringprintf.h" |
+#include "webkit/fileapi/file_system_url.h" |
namespace fileapi { |
@@ -230,6 +231,25 @@ bool IsolatedContext::RevokeFileSystem(const std::string& filesystem_id) { |
return UnregisterFileSystem(filesystem_id); |
} |
+bool IsolatedContext::CanHandleURL(const FileSystemURL& url) const { |
+ return url.is_valid() && url.type() == kFileSystemTypeIsolated; |
+} |
+ |
+FileSystemURL IsolatedContext::CrackURL(const FileSystemURL& url) const { |
+ if (!CanHandleURL(url)) |
+ return FileSystemURL(); |
+ |
+ DCHECK(!url.is_cracked()); |
+ |
+ std::string mount_name; |
+ FileSystemType type; |
+ FilePath path; |
+ if (!CrackVirtualPath(url.path(), &mount_name, &type, &path)) |
+ return FileSystemURL(); |
+ |
+ return FileSystemURL::CreateForCrackedURL(url, mount_name, type, path); |
+} |
+ |
bool IsolatedContext::GetRegisteredPath( |
const std::string& filesystem_id, FilePath* path) const { |
DCHECK(path); |