| // Copyright 2015 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef CONTENT_SHELL_BROWSER_SHELL_PERMISSION_MANAGER_H_ | 
 | #define CONTENT_SHELL_BROWSER_SHELL_PERMISSION_MANAGER_H_ | 
 |  | 
 | #include "base/callback_forward.h" | 
 | #include "base/macros.h" | 
 | #include "content/public/browser/permission_manager.h" | 
 |  | 
 | namespace content { | 
 |  | 
 | class ShellPermissionManager : public PermissionManager { | 
 |  public: | 
 |   ShellPermissionManager(); | 
 |   ~ShellPermissionManager() override; | 
 |  | 
 |   // PermissionManager implementation. | 
 |   int RequestPermission( | 
 |       PermissionType permission, | 
 |       RenderFrameHost* render_frame_host, | 
 |       const GURL& requesting_origin, | 
 |       bool user_gesture, | 
 |       const base::Callback<void(blink::mojom::PermissionStatus)>& callback) | 
 |       override; | 
 |   int RequestPermissions( | 
 |       const std::vector<PermissionType>& permission, | 
 |       RenderFrameHost* render_frame_host, | 
 |       const GURL& requesting_origin, | 
 |       bool user_gesture, | 
 |       const base::Callback< | 
 |           void(const std::vector<blink::mojom::PermissionStatus>&)>& callback) | 
 |       override; | 
 |   void CancelPermissionRequest(int request_id) override; | 
 |   void ResetPermission(PermissionType permission, | 
 |                        const GURL& requesting_origin, | 
 |                        const GURL& embedding_origin) override; | 
 |   blink::mojom::PermissionStatus GetPermissionStatus( | 
 |       PermissionType permission, | 
 |       const GURL& requesting_origin, | 
 |       const GURL& embedding_origin) override; | 
 |   void RegisterPermissionUsage(PermissionType permission, | 
 |                                const GURL& requesting_origin, | 
 |                                const GURL& embedding_origin) override; | 
 |   int SubscribePermissionStatusChange( | 
 |       PermissionType permission, | 
 |       const GURL& requesting_origin, | 
 |       const GURL& embedding_origin, | 
 |       const base::Callback<void(blink::mojom::PermissionStatus)>& callback) | 
 |       override; | 
 |   void UnsubscribePermissionStatusChange(int subscription_id) override; | 
 |  | 
 |  private: | 
 |   DISALLOW_COPY_AND_ASSIGN(ShellPermissionManager); | 
 | }; | 
 |  | 
 | }  // namespace content | 
 |  | 
 | #endif // CONTENT_SHELL_BROWSER_SHELL_PERMISSION_MANAGER_H |