summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/extensions/file_system_natives.cc
diff options
context:
space:
mode:
authorkoz@chromium.org <koz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-03 23:28:03 +0000
committerkoz@chromium.org <koz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-03 23:28:03 +0000
commite3e778724e5f96d204a9d34912ffb5c4786ad289 (patch)
treed56b5acb84cfe0957de0a4dfd9cbbbda06eb055d /chrome/renderer/extensions/file_system_natives.cc
parent06c8245612efb10678949002650362c842396219 (diff)
downloadchromium_src-e3e778724e5f96d204a9d34912ffb5c4786ad289.zip
chromium_src-e3e778724e5f96d204a9d34912ffb5c4786ad289.tar.gz
chromium_src-e3e778724e5f96d204a9d34912ffb5c4786ad289.tar.bz2
Revert 185709
> Set up V8 bindings for extension/app APIs when they're first used, not on > context creation. This should gives us a significant reduction in extension/app > startup time and slightly better memory usage. > > It also gives us better error messages, the chance to complete the > implementation of API features, and eventually the ability to expose select > extension APIs (e.g. extension.sendMessage) to web pages. > > BUG=163678,120070,55316,177163 > TBR=ben@chromium.org > > Review URL: https://chromiumcodereview.appspot.com/11571014 TBR=cduvall@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185815 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/extensions/file_system_natives.cc')
-rw-r--r--chrome/renderer/extensions/file_system_natives.cc30
1 files changed, 15 insertions, 15 deletions
diff --git a/chrome/renderer/extensions/file_system_natives.cc b/chrome/renderer/extensions/file_system_natives.cc
index 7812fe0..81fbf92 100644
--- a/chrome/renderer/extensions/file_system_natives.cc
+++ b/chrome/renderer/extensions/file_system_natives.cc
@@ -18,23 +18,14 @@
#include "webkit/fileapi/file_system_types.h"
#include "webkit/fileapi/file_system_util.h"
-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)));
-}
+namespace {
-v8::Handle<v8::Value> FileSystemNatives::GetIsolatedFileSystem(
+static v8::Handle<v8::Value> 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::frameForContext(v8_context());
+ WebKit::WebFrame* webframe = WebKit::WebFrame::frameForCurrentContext();
DCHECK(webframe);
GURL context_url =
@@ -63,8 +54,7 @@ v8::Handle<v8::Value> FileSystemNatives::GetIsolatedFileSystem(
WebKit::WebString::fromUTF8(root));
}
-v8::Handle<v8::Value> FileSystemNatives::GetFileEntry(
- const v8::Arguments& args) {
+static v8::Handle<v8::Value> GetFileEntry(const v8::Arguments& args) {
DCHECK(args.Length() == 5);
DCHECK(args[0]->IsString());
std::string type_string = *v8::String::Utf8Value(args[0]->ToString());
@@ -87,7 +77,7 @@ v8::Handle<v8::Value> FileSystemNatives::GetFileEntry(
DCHECK(args[4]->IsBoolean());
bool is_directory = args[4]->BooleanValue();
- WebKit::WebFrame* webframe = WebKit::WebFrame::frameForContext(v8_context());
+ WebKit::WebFrame* webframe = WebKit::WebFrame::frameForCurrentContext();
DCHECK(webframe);
return webframe->createFileEntry(
type,
@@ -97,4 +87,14 @@ v8::Handle<v8::Value> FileSystemNatives::GetFileEntry(
is_directory);
}
+} // namespace
+
+namespace extensions {
+
+FileSystemNatives::FileSystemNatives()
+ : ChromeV8Extension(NULL) {
+ RouteStaticFunction("GetFileEntry", &GetFileEntry);
+ RouteStaticFunction("GetIsolatedFileSystem", &GetIsolatedFileSystem);
+}
+
} // namespace extensions