Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(320)

Unified Diff: chrome/renderer/extensions/file_system_natives.cc

Issue 11571014: Lazy load chrome.* APIs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: android compilation Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/renderer/extensions/file_system_natives.h ('k') | chrome/renderer/extensions/i18n_custom_bindings.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « chrome/renderer/extensions/file_system_natives.h ('k') | chrome/renderer/extensions/i18n_custom_bindings.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698