summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/extensions/extension_process_bindings.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/renderer/extensions/extension_process_bindings.cc')
-rw-r--r--chrome/renderer/extensions/extension_process_bindings.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/chrome/renderer/extensions/extension_process_bindings.cc b/chrome/renderer/extensions/extension_process_bindings.cc
index 907f4c4..1ce7ea2 100644
--- a/chrome/renderer/extensions/extension_process_bindings.cc
+++ b/chrome/renderer/extensions/extension_process_bindings.cc
@@ -14,8 +14,12 @@
#include "chrome/renderer/js_only_v8_extensions.h"
#include "chrome/renderer/render_view.h"
#include "grit/renderer_resources.h"
+#include "webkit/api/public/WebScriptSource.h"
#include "webkit/glue/webframe.h"
+using WebKit::WebScriptSource;
+using WebKit::WebString;
+
namespace {
const char kExtensionName[] = "chrome/ExtensionProcessBindings";
@@ -101,9 +105,7 @@ class ExtensionImpl : public v8::Extension {
RenderView* renderview = GetRenderViewForCurrentContext();
DCHECK(renderview);
GURL url = renderview->webview()->GetMainFrame()->GetURL();
- // Don't check the URL scheme in unit tests.
- if (RenderThread::current())
- DCHECK(url.scheme() == chrome::kExtensionScheme);
+ DCHECK(url.scheme() == chrome::kExtensionScheme);
v8::Persistent<v8::Context> current_context =
v8::Persistent<v8::Context>::New(v8::Context::GetCurrent());
@@ -216,6 +218,11 @@ void ExtensionProcessBindings::SetFunctionNames(
ExtensionImpl::SetFunctionNames(names);
}
+void ExtensionProcessBindings::RegisterExtensionContext(WebFrame* frame) {
+ frame->ExecuteScript(WebScriptSource(WebString::fromUTF8(
+ "chrome.self.register_();")));
+}
+
void ExtensionProcessBindings::HandleResponse(int request_id, bool success,
const std::string& response,
const std::string& error) {