Index: content/renderer/render_view.cc |
=================================================================== |
--- content/renderer/render_view.cc (revision 79565) |
+++ content/renderer/render_view.cc (working copy) |
@@ -48,8 +48,8 @@ |
#include "chrome/renderer/devtools_agent.h" |
#include "chrome/renderer/devtools_client.h" |
#include "chrome/renderer/extension_groups.h" |
-#include "chrome/renderer/extensions/bindings_utils.h" |
#include "chrome/renderer/extensions/event_bindings.h" |
+#include "chrome/renderer/extensions/extension_dispatcher.h" |
#include "chrome/renderer/extensions/extension_helper.h" |
#include "chrome/renderer/extensions/extension_process_bindings.h" |
#include "chrome/renderer/extensions/extension_resource_request_policy.h" |
@@ -2574,12 +2574,8 @@ |
return; |
did_show_ = true; |
- // Extensions and apps always allowed to create unrequested popups. The second |
- // check is necessary to include content scripts. |
- if (render_thread_->GetExtensions()->GetByURL(creator_url_) || |
- bindings_utils::GetInfoForCurrentContext()) { |
+ if (content::GetContentClient()->renderer()->AllowPopup(creator_url_)) |
opened_by_user_gesture_ = true; |
- } |
// Force new windows to a popup if they were not opened with a user gesture. |
if (!opened_by_user_gesture_) { |
@@ -2831,9 +2827,7 @@ |
// window.opener) if the window navigates back. See crbug.com/65953. |
if (!should_fork && |
CrossesExtensionExtents( |
- render_thread_->GetExtensions(), |
- frame, |
- url)) { |
+ ExtensionDispatcher::Get()->extensions(), frame, url)) { |
// Include the referrer in this case since we're going from a hosted web |
// page. (the packaged case is handled previously by the extension |
// navigation test) |
@@ -2842,7 +2836,7 @@ |
if (is_content_initiated) { |
const Extension* extension = |
- render_thread_->GetExtensions()->GetByURL(url); |
+ ExtensionDispatcher::Get()->extensions()->GetByURL(url); |
if (extension && extension->is_app()) { |
UMA_HISTOGRAM_ENUMERATION( |
extension_misc::kAppLaunchHistogram, |
@@ -3308,7 +3302,7 @@ |
void RenderView::didCreateDocumentElement(WebFrame* frame) { |
if (RenderThread::current()) { // Will be NULL during unit tests. |
- RenderThread::current()->user_script_slave()->InjectScripts( |
+ ExtensionDispatcher::Get()->user_script_slave()->InjectScripts( |
frame, UserScript::DOCUMENT_START); |
} |
@@ -3351,7 +3345,7 @@ |
UpdateEncoding(frame, frame->view()->pageEncoding().utf8()); |
if (RenderThread::current()) { // Will be NULL during unit tests. |
- RenderThread::current()->user_script_slave()->InjectScripts( |
+ ExtensionDispatcher::Get()->user_script_slave()->InjectScripts( |
frame, UserScript::DOCUMENT_END); |
} |
@@ -3363,7 +3357,7 @@ |
void RenderView::OnUserScriptIdleTriggered(WebFrame* frame) { |
if (RenderThread::current()) { // Will be NULL during unit tests. |
- RenderThread::current()->user_script_slave()->InjectScripts( |
+ ExtensionDispatcher::Get()->user_script_slave()->InjectScripts( |
frame, UserScript::DOCUMENT_IDLE); |
} |
@@ -3449,7 +3443,7 @@ |
!ExtensionResourceRequestPolicy::CanRequestResource( |
request_url, |
GURL(frame->url()), |
- render_thread_->GetExtensions())) { |
+ ExtensionDispatcher::Get()->extensions())) { |
request.setURL(WebURL(GURL("chrome-extension://invalid/"))); |
} |
@@ -4994,7 +4988,8 @@ |
WebFrame* frame = *frame_it; |
if (params.is_javascript) { |
const Extension* extension = |
- render_thread_->GetExtensions()->GetByID(params.extension_id); |
+ ExtensionDispatcher::Get()->extensions()->GetByID( |
+ params.extension_id); |
// Since extension info is sent separately from user script info, they can |
// be out of sync. We just ignore this situation. |