Index: chrome/browser/permissions/permission_manager.cc |
diff --git a/chrome/browser/permissions/permission_manager.cc b/chrome/browser/permissions/permission_manager.cc |
index 6aa0728dc9bd125e6a6276451fee58a22201bb8a..2a2b704060e4cd6aeda6c0f1bb3cb126578e1bce 100644 |
--- a/chrome/browser/permissions/permission_manager.cc |
+++ b/chrome/browser/permissions/permission_manager.cc |
@@ -8,6 +8,7 @@ |
#include "chrome/browser/content_settings/host_content_settings_map_factory.h" |
#include "chrome/browser/permissions/permission_context.h" |
#include "chrome/browser/permissions/permission_context_base.h" |
+#include "chrome/browser/permissions/permission_infobar_manager.h" |
#include "chrome/browser/permissions/permission_request_id.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/ui/website_settings/permission_bubble_manager.h" |
@@ -160,7 +161,7 @@ void PermissionManager::RequestPermission( |
content::WebContents* web_contents = |
content::WebContents::FromRenderFrameHost(render_frame_host); |
- if (IsPermissionBubbleManagerMissing(web_contents)) { |
+ if (IsPermissionUIManagerMissing(web_contents)) { |
callback.Run( |
GetPermissionStatus(permission, requesting_origin, |
web_contents->GetLastCommittedURL().GetOrigin())); |
@@ -189,7 +190,7 @@ void PermissionManager::CancelPermissionRequest( |
content::WebContents* web_contents = |
content::WebContents::FromRenderFrameHost(render_frame_host); |
- if (IsPermissionBubbleManagerMissing(web_contents)) |
+ if (IsPermissionUIManagerMissing(web_contents)) |
return; |
int render_process_id = render_frame_host->GetProcess()->GetID(); |
@@ -276,13 +277,13 @@ void PermissionManager::UnsubscribePermissionStatusChange(int subscription_id) { |
->RemoveObserver(this); |
} |
-bool PermissionManager::IsPermissionBubbleManagerMissing( |
+bool PermissionManager::IsPermissionUIManagerMissing( |
content::WebContents* web_contents) { |
- // Can't be missing if it isn't needed to begin with. |
- if (!PermissionBubbleManager::Enabled()) |
- return false; |
+ if (PermissionBubbleManager::Enabled()) |
+ return PermissionBubbleManager::FromWebContents(web_contents) == nullptr; |
- return PermissionBubbleManager::FromWebContents(web_contents) == nullptr; |
+ // Consider PermissionInfoBarManager's state instead |
+ return PermissionInfoBarManager::FromWebContents(web_contents) == nullptr; |
} |
void PermissionManager::OnContentSettingChanged( |