1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef PERMISSION_MANAGER_EFL_H_
6 #define PERMISSION_MANAGER_EFL_H_
8 #include "base/callback_forward.h"
9 #include "base/macros.h"
10 #include "content/public/browser/permission_manager.h"
14 class CONTENT_EXPORT PermissionManagerEfl : public PermissionManager {
17 PermissionManagerEfl();
18 ~PermissionManagerEfl() override;
20 void RequestPermission(
21 PermissionType permission,
22 content::RenderFrameHost* render_frame_host,
24 const GURL& requesting_origin,
26 const base::Callback<void(PermissionStatus)>& callback) override;
28 void CancelPermissionRequest(PermissionType permission,
29 content::RenderFrameHost* render_frame_host,
31 const GURL& requesting_origin) override;
33 PermissionStatus GetPermissionStatus(
34 PermissionType permission,
35 const GURL& requesting_origin,
36 const GURL& embedding_origin) override;
38 void ResetPermission(PermissionType permission,
39 const GURL& requesting_origin,
40 const GURL& embedding_origin) override;
42 void RegisterPermissionUsage(PermissionType permission,
43 const GURL& requesting_origin,
44 const GURL& embedding_origin) override;
46 // Runs the given |callback| whenever the |permission| associated with the
47 // pair { requesting_origin, embedding_origin } changes.
48 // Returns the subscription_id to be used to unsubscribe.
49 int SubscribePermissionStatusChange(
50 PermissionType permission,
51 const GURL& requesting_origin,
52 const GURL& embedding_origin,
53 const base::Callback<void(PermissionStatus)>& callback) override;
55 void UnsubscribePermissionStatusChange(int subscription_id) override;
58 DISALLOW_COPY_AND_ASSIGN(PermissionManagerEfl);
63 #endif // PERMISSION_MANAGER_EFL_H_