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

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

Issue 147033: Refactor extension bindings to share code, avoid exposing hidden variables (Closed)
Patch Set: at head Created 11 years, 6 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/extension_process_bindings.cc ('k') | chrome/renderer/js_only_v8_extensions.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/extensions/renderer_extension_bindings.cc
diff --git a/chrome/renderer/extensions/renderer_extension_bindings.cc b/chrome/renderer/extensions/renderer_extension_bindings.cc
index 0931c8c0bf5691242c1c781cb39e5395388ec941..f7197974ee995c7e8ee224c0ffeac546f46ed45e 100644
--- a/chrome/renderer/extensions/renderer_extension_bindings.cc
+++ b/chrome/renderer/extensions/renderer_extension_bindings.cc
@@ -14,6 +14,9 @@
#include "chrome/renderer/render_view.h"
#include "grit/renderer_resources.h"
+using bindings_utils::GetStringResource;
+using bindings_utils::ExtensionBase;
+
// Message passing API example (in a content script):
// var extension =
// new chrome.Extension('00123456789abcdef0123456789abcdef0123456');
@@ -28,10 +31,10 @@ namespace {
const char* kExtensionDeps[] = { EventBindings::kName };
-class ExtensionImpl : public v8::Extension {
+class ExtensionImpl : public ExtensionBase {
public:
ExtensionImpl()
- : v8::Extension(RendererExtensionBindings::kName,
+ : ExtensionBase(RendererExtensionBindings::kName,
GetStringResource<IDR_RENDERER_EXTENSION_BINDINGS_JS>(),
arraysize(kExtensionDeps), kExtensionDeps) {
}
@@ -44,7 +47,7 @@ class ExtensionImpl : public v8::Extension {
} else if (name->Equals(v8::String::New("PostMessage"))) {
return v8::FunctionTemplate::New(PostMessage);
}
- return v8::Handle<v8::FunctionTemplate>();
+ return ExtensionBase::GetNativeFunction(name);
}
// Creates a new messaging channel to the given extension.
@@ -52,7 +55,7 @@ class ExtensionImpl : public v8::Extension {
const v8::Arguments& args) {
// Get the current RenderView so that we can send a routed IPC message from
// the correct source.
- RenderView* renderview = GetRenderViewForCurrentContext();
+ RenderView* renderview = bindings_utils::GetRenderViewForCurrentContext();
if (!renderview)
return v8::Undefined();
@@ -68,7 +71,7 @@ class ExtensionImpl : public v8::Extension {
// Sends a message along the given channel.
static v8::Handle<v8::Value> PostMessage(const v8::Arguments& args) {
- RenderView* renderview = GetRenderViewForCurrentContext();
+ RenderView* renderview = bindings_utils::GetRenderViewForCurrentContext();
if (!renderview)
return v8::Undefined();
« no previous file with comments | « chrome/renderer/extensions/extension_process_bindings.cc ('k') | chrome/renderer/js_only_v8_extensions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698