diff options
author | koz@chromium.org <koz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-03 23:28:03 +0000 |
---|---|---|
committer | koz@chromium.org <koz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-03 23:28:03 +0000 |
commit | e3e778724e5f96d204a9d34912ffb5c4786ad289 (patch) | |
tree | d56b5acb84cfe0957de0a4dfd9cbbbda06eb055d /chrome/renderer/extensions/file_system_natives.cc | |
parent | 06c8245612efb10678949002650362c842396219 (diff) | |
download | chromium_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.cc | 30 |
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 |