Chromium Code Reviews| Index: chrome/browser/permissions/permission_context_base.h |
| diff --git a/chrome/browser/permissions/permission_context_base.h b/chrome/browser/permissions/permission_context_base.h |
| index 4f59689dd425a23872194f1ceb4a91e63eebd971..321567ddee232acb017d07b9a11cd7a33fb33694 100644 |
| --- a/chrome/browser/permissions/permission_context_base.h |
| +++ b/chrome/browser/permissions/permission_context_base.h |
| @@ -28,6 +28,10 @@ namespace content { |
| class WebContents; |
| } |
| +namespace safe_browsing { |
| +class SafeBrowsingDatabaseManager; |
| +} |
| + |
| using BrowserPermissionCallback = base::Callback<void(ContentSetting)>; |
| // This base class contains common operations for granting permissions. |
| @@ -80,7 +84,9 @@ class PermissionContextBase : public KeyedService { |
| bool user_gesture, |
| const BrowserPermissionCallback& callback); |
| - // Returns whether the permission has been granted, denied... |
| + // Returns whether the permission has been granted, denied etc. This method |
| + // does not take into account the Safe Browsing blacklist, as it is executed |
| + // synchronously. |
| ContentSetting GetPermissionStatus(const GURL& requesting_origin, |
| const GURL& embedding_origin) const; |
| @@ -164,9 +170,27 @@ class PermissionContextBase : public KeyedService { |
| // Called when a request is no longer used so it can be cleaned up. |
| void CleanUpRequest(const PermissionRequestID& id); |
| + // Called when the requesting origin and permission have been checked by Safe |
| + // Browsing. |permission_blocked| determines whether to auto-block the |
| + // permission request without prompting the user for a decision. |
| + void ContinueRequestPermission(content::WebContents* web_contents, |
| + const PermissionRequestID& id, |
| + const GURL& requesting_origin, |
| + const GURL& embedding_origin, |
| + bool user_gesture, |
| + const BrowserPermissionCallback& callback, |
| + bool permission_blocked); |
| + |
| + void SetSafeBrowsingDatabaseManagerForTests( |
|
raymes
2016/12/20 23:58:57
nit: ForTest (without this s) is a bit more common
meredithl
2016/12/29 06:23:35
Done.
|
| + scoped_refptr<safe_browsing::SafeBrowsingDatabaseManager> db_manager); |
| + |
| + void SetTimeoutForSafeBrowsingClient(int timeout); |
|
raymes
2016/12/20 23:58:57
nit: it should be made clear that this is just for
meredithl
2016/12/29 06:23:35
Done.
|
| + |
| Profile* profile_; |
| const content::PermissionType permission_type_; |
| const ContentSettingsType content_settings_type_; |
| + int safe_browsing_timeout_; |
| + scoped_refptr<safe_browsing::SafeBrowsingDatabaseManager> db_manager_; |
| #if defined(OS_ANDROID) |
| std::unique_ptr<PermissionQueueController> permission_queue_controller_; |
| #endif |