| Index: content/browser/renderer_host/render_message_filter.cc
|
| diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc
|
| index 83385fc349e6b534b1a629fa531a95dd716fc01b..9abbcccff78a34b6e73adb800d2229cd9ca872f1 100644
|
| --- a/content/browser/renderer_host/render_message_filter.cc
|
| +++ b/content/browser/renderer_host/render_message_filter.cc
|
| @@ -15,7 +15,6 @@
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/download/download_types.h"
|
| #include "chrome/browser/download/download_util.h"
|
| -#include "chrome/browser/extensions/extension_info_map.h"
|
| #include "chrome/browser/notifications/desktop_notification_service.h"
|
| #include "chrome/browser/notifications/desktop_notification_service_factory.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| @@ -389,14 +388,11 @@ void RenderMessageFilter::OnMsgCreateWindow(
|
| int* route_id, int64* cloned_session_storage_namespace_id) {
|
| // If the opener is trying to create a background window but doesn't have
|
| // the appropriate permission, fail the attempt.
|
| - if (params.window_container_type == WINDOW_CONTAINER_TYPE_BACKGROUND) {
|
| - const Extension* extension =
|
| - extension_info_map_->extensions().GetByURL(params.opener_url);
|
| - if (!extension ||
|
| - !extension->HasApiPermission(Extension::kBackgroundPermission)) {
|
| - *route_id = MSG_ROUTING_NONE;
|
| - return;
|
| - }
|
| + if (params.window_container_type == WINDOW_CONTAINER_TYPE_BACKGROUND &&
|
| + !content::GetContentClient()->browser()->
|
| + CheckBackgroundPermission(params.opener_url, resource_context_)) {
|
| + *route_id = MSG_ROUTING_NONE;
|
| + return;
|
| }
|
|
|
| *cloned_session_storage_namespace_id =
|
|
|