| Index: chrome/browser/extensions/active_tab_permission_granter.h
|
| diff --git a/chrome/browser/extensions/active_tab_permission_granter.h b/chrome/browser/extensions/active_tab_permission_granter.h
|
| index a1245a280fd6b355cbe075589e2b816b99c2c86c..3399ebbd6af3bf274e962c5445b4c9b876775c92 100644
|
| --- a/chrome/browser/extensions/active_tab_permission_granter.h
|
| +++ b/chrome/browser/extensions/active_tab_permission_granter.h
|
| @@ -32,11 +32,24 @@ class ActiveTabPermissionGranter
|
| : public content::WebContentsObserver,
|
| public extensions::ExtensionRegistryObserver {
|
| public:
|
| + // Platform specific delegate.
|
| + class Delegate {
|
| + public:
|
| + virtual ~Delegate() {}
|
| + // Platform specific check whether the user granted activeTab permission.
|
| + virtual bool ActiveTabPermissionGranted(
|
| + const Extension* extension, content::WebContents* web_contents) = 0;
|
| + };
|
| +
|
| ActiveTabPermissionGranter(content::WebContents* web_contents,
|
| int tab_id,
|
| Profile* profile);
|
| ~ActiveTabPermissionGranter() override;
|
|
|
| + // Platform specific delegate should be set during startup. |delegate| is a
|
| + // singleton instance and is leaked.
|
| + static void SetPlatformDelegate(Delegate* delegate);
|
| +
|
| // If |extension| has the activeTab or tabCapture permission, grants
|
| // tab-specific permissions to it until the next page navigation or refresh.
|
| void GrantIfRequested(const Extension* extension);
|
|
|