| Index: chrome/browser/permissions/permission_request_manager.h
|
| diff --git a/chrome/browser/permissions/permission_request_manager.h b/chrome/browser/permissions/permission_request_manager.h
|
| index b2df0b9d08a0a07172227246d1df40568b7ba35b..ac707eb0a4f812fc165f0447167a0329007c9b9d 100644
|
| --- a/chrome/browser/permissions/permission_request_manager.h
|
| +++ b/chrome/browser/permissions/permission_request_manager.h
|
| @@ -11,6 +11,7 @@
|
| #include "base/gtest_prod_util.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "base/observer_list.h"
|
| +#include "chrome/browser/ui/browser_list_observer.h"
|
| #include "chrome/browser/ui/permission_bubble/permission_prompt.h"
|
| #include "content/public/browser/web_contents_observer.h"
|
| #include "content/public/browser/web_contents_user_data.h"
|
| @@ -39,7 +40,8 @@ class PermissionRequestManagerTestApi;
|
| class PermissionRequestManager
|
| : public content::WebContentsObserver,
|
| public content::WebContentsUserData<PermissionRequestManager>,
|
| - public PermissionPrompt::Delegate {
|
| + public PermissionPrompt::Delegate,
|
| + public chrome::BrowserListObserver {
|
| public:
|
| class Observer {
|
| public:
|
| @@ -142,6 +144,10 @@ class PermissionRequestManager
|
| void Deny() override;
|
| void Closing() override;
|
|
|
| + // chrome::BrowserListObserver:
|
| + void OnBrowserSetLastActive(Browser* browser) override;
|
| + void OnBrowserNoLongerActive(Browser* browser) override;
|
| +
|
| // Posts a task which will allow the bubble to become visible if it is needed.
|
| void ScheduleShowBubble();
|
|
|
| @@ -186,6 +192,9 @@ class PermissionRequestManager
|
| // The UI surface to be used to display the permissions requests.
|
| std::unique_ptr<PermissionPrompt> view_;
|
|
|
| + // Whether the browser that contains |web_contents()| is active.
|
| + bool browser_active_;
|
| +
|
| std::vector<PermissionRequest*> requests_;
|
| std::vector<PermissionRequest*> queued_requests_;
|
| std::vector<PermissionRequest*> queued_frame_requests_;
|
|
|