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

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

Issue 8395031: Use the new ChromeV8ContextSet in ExtensionProcessBindings::StartRequestCommon() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: improve naming Created 9 years, 2 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/extensions/extension_process_bindings.cc
diff --git a/chrome/renderer/extensions/extension_process_bindings.cc b/chrome/renderer/extensions/extension_process_bindings.cc
index 223ecd0d30922277a60b4fcee5fcc2db37222044..5472dce03cb0b510566aa2431b667eecde6865e7 100644
--- a/chrome/renderer/extensions/extension_process_bindings.cc
+++ b/chrome/renderer/extensions/extension_process_bindings.cc
@@ -436,9 +436,15 @@ class ExtensionImpl : public ChromeV8Extension {
const v8::Arguments& args, ListValue* value_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
// the correct source.
- content::RenderView* renderview = GetCurrentRenderView();
+ content::RenderView* renderview = current_context->GetRenderView();
if (!renderview)
return v8::Undefined();
@@ -450,11 +456,12 @@ class ExtensionImpl : public ChromeV8Extension {
return v8::Undefined();
}
+ // TODO(aa): add this to ChromeV8Context.
if (!v8_extension->CheckPermissionForCurrentRenderView(name))
return v8::Undefined();
GURL source_url;
- WebFrame* webframe = WebFrame::frameForCurrentContext();
+ WebFrame* webframe = current_context->web_frame();
if (webframe)
source_url = webframe->document().url();
@@ -462,11 +469,11 @@ class ExtensionImpl : public ChromeV8Extension {
bool has_callback = args[3]->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());
- DCHECK(!current_context.IsEmpty());
+ DCHECK(!v8_context.IsEmpty());
g_pending_requests.Get()[request_id].reset(new PendingRequest(
- current_context, name));
+ v8_context, name));
ExtensionHostMsg_Request_Params params;
params.name = name;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698