| 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.
|
|
|