Index: chrome/renderer/extensions/file_system_natives.cc |
diff --git a/chrome/renderer/extensions/file_system_natives.cc b/chrome/renderer/extensions/file_system_natives.cc |
index fd356e495760f66c2c5f5f7192733dfdd490ae8a..984c7bf79cc5b83ccf6bf209904cab1ddcf5a12e 100644 |
--- a/chrome/renderer/extensions/file_system_natives.cc |
+++ b/chrome/renderer/extensions/file_system_natives.cc |
@@ -28,6 +28,9 @@ FileSystemNatives::FileSystemNatives(v8::Handle<v8::Context> context) |
RouteFunction("GetIsolatedFileSystem", |
base::Bind(&FileSystemNatives::GetIsolatedFileSystem, |
base::Unretained(this))); |
+ RouteFunction("CrackIsolatedFileSystemName", |
+ base::Bind(&FileSystemNatives::CrackIsolatedFileSystemName, |
+ base::Unretained(this))); |
} |
v8::Handle<v8::Value> FileSystemNatives::GetIsolatedFileSystem( |
@@ -98,4 +101,16 @@ v8::Handle<v8::Value> FileSystemNatives::GetFileEntry( |
is_directory); |
} |
+v8::Handle<v8::Value> FileSystemNatives::CrackIsolatedFileSystemName( |
+ const v8::Arguments& args) { |
+ DCHECK_EQ(args.Length(), 1); |
+ DCHECK(args[0]->IsString()); |
+ std::string filesystem_name = *v8::String::Utf8Value(args[0]->ToString()); |
+ std::string filesystem_id; |
+ if (!fileapi::CrackIsolatedFileSystemName(filesystem_name, &filesystem_id)) |
+ return v8::Undefined(); |
+ |
+ return v8::String::New(filesystem_id.c_str(), filesystem_id.size()); |
+} |
+ |
} // namespace extensions |