Index: chrome/renderer/extensions/file_browser_handler_custom_bindings.cc |
diff --git a/chrome/renderer/extensions/file_browser_handler_custom_bindings.cc b/chrome/renderer/extensions/file_browser_handler_custom_bindings.cc |
index 78800dbb4519a0e74de6a883fc1eb92392d90bbd..9462f250493c02ff31b59233a10f878208ff53bc 100644 |
--- a/chrome/renderer/extensions/file_browser_handler_custom_bindings.cc |
+++ b/chrome/renderer/extensions/file_browser_handler_custom_bindings.cc |
@@ -13,9 +13,19 @@ |
#include "third_party/WebKit/Source/Platform/chromium/public/WebString.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" |
-namespace { |
+namespace extensions { |
+ |
+FileBrowserHandlerCustomBindings::FileBrowserHandlerCustomBindings( |
+ Dispatcher* dispatcher, v8::Handle<v8::Context> context) |
+ : ChromeV8Extension(dispatcher, context) { |
+ RouteFunction( |
+ "GetExternalFileEntry", |
+ base::Bind(&FileBrowserHandlerCustomBindings::GetExternalFileEntry, |
+ base::Unretained(this))); |
+} |
-v8::Handle<v8::Value> GetExternalFileEntry(const v8::Arguments& args) { |
+v8::Handle<v8::Value> FileBrowserHandlerCustomBindings::GetExternalFileEntry( |
+ const v8::Arguments& args) { |
// TODO(zelidrag): Make this magic work on other platforms when file browser |
// matures enough on ChromeOS. |
#if defined(OS_CHROMEOS) |
@@ -33,7 +43,8 @@ v8::Handle<v8::Value> GetExternalFileEntry(const v8::Arguments& args) { |
v8::String::New("fileFullPath")))); |
bool is_directory = |
file_def->Get(v8::String::New("fileIsDirectory"))->ToBoolean()->Value(); |
- WebKit::WebFrame* webframe = WebKit::WebFrame::frameForCurrentContext(); |
+ WebKit::WebFrame* webframe = |
+ WebKit::WebFrame::frameForContext(v8_context()); |
return webframe->createFileEntry( |
WebKit::WebFileSystem::TypeExternal, |
WebKit::WebString::fromUTF8(file_system_name.c_str()), |
@@ -45,14 +56,4 @@ v8::Handle<v8::Value> GetExternalFileEntry(const v8::Arguments& args) { |
#endif |
} |
-} // namespace |
- |
-namespace extensions { |
- |
-FileBrowserHandlerCustomBindings::FileBrowserHandlerCustomBindings() |
- : ChromeV8Extension(NULL) { |
- RouteStaticFunction("GetExternalFileEntry", &GetExternalFileEntry); |
-} |
- |
- |
} // namespace extensions |