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 81fbf929a9aa63fb471c95ded2dda4a2bcc038f7..7812fe0951d10a4d3465051858e12cee50436f8b 100644 |
--- a/chrome/renderer/extensions/file_system_natives.cc |
+++ b/chrome/renderer/extensions/file_system_natives.cc |
@@ -18,14 +18,23 @@ |
#include "webkit/fileapi/file_system_types.h" |
#include "webkit/fileapi/file_system_util.h" |
-namespace { |
+namespace extensions { |
+ |
+FileSystemNatives::FileSystemNatives(v8::Handle<v8::Context> context) |
+ : ObjectBackedNativeHandler(context) { |
+ RouteFunction("GetFileEntry", |
+ base::Bind(&FileSystemNatives::GetFileEntry, base::Unretained(this))); |
+ RouteFunction("GetIsolatedFileSystem", |
+ base::Bind(&FileSystemNatives::GetIsolatedFileSystem, |
+ base::Unretained(this))); |
+} |
-static v8::Handle<v8::Value> GetIsolatedFileSystem( |
+v8::Handle<v8::Value> FileSystemNatives::GetIsolatedFileSystem( |
const v8::Arguments& args) { |
DCHECK(args.Length() == 1 || args.Length() == 2); |
DCHECK(args[0]->IsString()); |
std::string file_system_id(*v8::String::Utf8Value(args[0])); |
- WebKit::WebFrame* webframe = WebKit::WebFrame::frameForCurrentContext(); |
+ WebKit::WebFrame* webframe = WebKit::WebFrame::frameForContext(v8_context()); |
DCHECK(webframe); |
GURL context_url = |
@@ -54,7 +63,8 @@ static v8::Handle<v8::Value> GetIsolatedFileSystem( |
WebKit::WebString::fromUTF8(root)); |
} |
-static v8::Handle<v8::Value> GetFileEntry(const v8::Arguments& args) { |
+v8::Handle<v8::Value> FileSystemNatives::GetFileEntry( |
+ const v8::Arguments& args) { |
DCHECK(args.Length() == 5); |
DCHECK(args[0]->IsString()); |
std::string type_string = *v8::String::Utf8Value(args[0]->ToString()); |
@@ -77,7 +87,7 @@ static v8::Handle<v8::Value> GetFileEntry(const v8::Arguments& args) { |
DCHECK(args[4]->IsBoolean()); |
bool is_directory = args[4]->BooleanValue(); |
- WebKit::WebFrame* webframe = WebKit::WebFrame::frameForCurrentContext(); |
+ WebKit::WebFrame* webframe = WebKit::WebFrame::frameForContext(v8_context()); |
DCHECK(webframe); |
return webframe->createFileEntry( |
type, |
@@ -87,14 +97,4 @@ static v8::Handle<v8::Value> GetFileEntry(const v8::Arguments& args) { |
is_directory); |
} |
-} // namespace |
- |
-namespace extensions { |
- |
-FileSystemNatives::FileSystemNatives() |
- : ChromeV8Extension(NULL) { |
- RouteStaticFunction("GetFileEntry", &GetFileEntry); |
- RouteStaticFunction("GetIsolatedFileSystem", &GetIsolatedFileSystem); |
-} |
- |
} // namespace extensions |