| 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
 | 
| 
 |