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 472c89a50a0a110093003dec0bd40985baf2bf13..15a32a03dfbfca1111b92bb9c3b088cf58b2ef52 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. |
+ // TODO(meredithl): Ensure that the result accurately reflects whether the |
+ // origin is blacklisted for this permission. |
ContentSetting GetPermissionStatus(const GURL& requesting_origin, |
const GURL& embedding_origin) const; |
@@ -164,9 +170,26 @@ 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 SetSafeBrowsingDatabaseManagerAndTimeoutForTest( |
+ scoped_refptr<safe_browsing::SafeBrowsingDatabaseManager> db_manager, |
+ int timeout); |
+ |
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 |