Commit e4c18be5 authored by tessamac@chromium.org's avatar tessamac@chromium.org

Use the new ChromeV8ContextSet in ExtensionProcessBindings::StartRequestCommon()

BUG=
TEST=


Review URL: http://codereview.chromium.org/8395031

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107849 0039d316-1c4b-4281-b951-d872f2087c98
parent d5a38c73
...@@ -436,9 +436,15 @@ class ExtensionImpl : public ChromeV8Extension { ...@@ -436,9 +436,15 @@ class ExtensionImpl : public ChromeV8Extension {
const v8::Arguments& args, ListValue* value_args) { const v8::Arguments& args, ListValue* value_args) {
ExtensionImpl* v8_extension = GetFromArguments<ExtensionImpl>(args); ExtensionImpl* v8_extension = GetFromArguments<ExtensionImpl>(args);
const ChromeV8ContextSet& contexts =
v8_extension->extension_dispatcher()->v8_context_set();
ChromeV8Context* current_context = contexts.GetCurrent();
if (!current_context)
return v8::Undefined();
// Get the current RenderView so that we can send a routed IPC message from // Get the current RenderView so that we can send a routed IPC message from
// the correct source. // the correct source.
content::RenderView* renderview = GetCurrentRenderView(); content::RenderView* renderview = current_context->GetRenderView();
if (!renderview) if (!renderview)
return v8::Undefined(); return v8::Undefined();
...@@ -450,11 +456,12 @@ class ExtensionImpl : public ChromeV8Extension { ...@@ -450,11 +456,12 @@ class ExtensionImpl : public ChromeV8Extension {
return v8::Undefined(); return v8::Undefined();
} }
// TODO(aa): add this to ChromeV8Context.
if (!v8_extension->CheckPermissionForCurrentRenderView(name)) if (!v8_extension->CheckPermissionForCurrentRenderView(name))
return v8::Undefined(); return v8::Undefined();
GURL source_url; GURL source_url;
WebFrame* webframe = WebFrame::frameForCurrentContext(); WebFrame* webframe = current_context->web_frame();
if (webframe) if (webframe)
source_url = webframe->document().url(); source_url = webframe->document().url();
...@@ -462,11 +469,11 @@ class ExtensionImpl : public ChromeV8Extension { ...@@ -462,11 +469,11 @@ class ExtensionImpl : public ChromeV8Extension {
bool has_callback = args[3]->BooleanValue(); bool has_callback = args[3]->BooleanValue();
bool for_io_thread = args[4]->BooleanValue(); bool for_io_thread = args[4]->BooleanValue();
v8::Persistent<v8::Context> current_context = v8::Persistent<v8::Context> v8_context =
v8::Persistent<v8::Context>::New(v8::Context::GetCurrent()); v8::Persistent<v8::Context>::New(v8::Context::GetCurrent());
DCHECK(!current_context.IsEmpty()); DCHECK(!v8_context.IsEmpty());
g_pending_requests.Get()[request_id].reset(new PendingRequest( g_pending_requests.Get()[request_id].reset(new PendingRequest(
current_context, name)); v8_context, name));
ExtensionHostMsg_Request_Params params; ExtensionHostMsg_Request_Params params;
params.name = name; params.name = name;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment