| Index: chrome/browser/permissions/permission_request_manager.cc
|
| diff --git a/chrome/browser/permissions/permission_request_manager.cc b/chrome/browser/permissions/permission_request_manager.cc
|
| index 1ed90638f96563b93e44daf7524b4e9583c078b0..341f4a34f7e4911117eff761834ab2bfb8b03e11 100644
|
| --- a/chrome/browser/permissions/permission_request_manager.cc
|
| +++ b/chrome/browser/permissions/permission_request_manager.cc
|
| @@ -79,6 +79,7 @@ PermissionRequestManager::PermissionRequestManager(
|
| : content::WebContentsObserver(web_contents),
|
| view_factory_(base::Bind(&PermissionPrompt::Create)),
|
| view_(nullptr),
|
| + browser_visible_(true),
|
| main_frame_has_fully_loaded_(false),
|
| persist_(true),
|
| auto_response_for_test_(NONE),
|
| @@ -372,6 +373,8 @@ void PermissionRequestManager::ScheduleShowBubble() {
|
| void PermissionRequestManager::TriggerShowBubble() {
|
| if (!view_)
|
| return;
|
| + if (!browser_visible_)
|
| + return;
|
| if (IsBubbleVisible())
|
| return;
|
| if (!main_frame_has_fully_loaded_)
|
| @@ -508,6 +511,12 @@ void PermissionRequestManager::RemoveObserver(Observer* observer) {
|
| observer_list_.RemoveObserver(observer);
|
| }
|
|
|
| +void PermissionRequestManager::OnBrowserVisibilityChanged(bool visible) {
|
| + browser_visible_ = visible;
|
| + if (visible)
|
| + ScheduleShowBubble();
|
| +}
|
| +
|
| void PermissionRequestManager::NotifyBubbleAdded() {
|
| for (Observer& observer : observer_list_)
|
| observer.OnBubbleAdded();
|
|
|