[M47_2526] Chromium upversion to m47_2526 branch
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / efl_integration / browser / permission_manager_efl.h
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.
4
5 #ifndef PERMISSION_MANAGER_EFL_H_
6 #define PERMISSION_MANAGER_EFL_H_
7
8 #include "base/callback_forward.h"
9 #include "base/macros.h"
10 #include "content/public/browser/permission_manager.h"
11
12 namespace content {
13
14 class CONTENT_EXPORT PermissionManagerEfl : public PermissionManager {
15  public:
16
17   PermissionManagerEfl();
18   ~PermissionManagerEfl() override;
19
20   void RequestPermission(
21       PermissionType permission,
22       content::RenderFrameHost* render_frame_host,
23       int request_id,
24       const GURL& requesting_origin,
25       bool user_gesture,
26       const base::Callback<void(PermissionStatus)>& callback) override;
27
28   void CancelPermissionRequest(PermissionType permission,
29                                content::RenderFrameHost* render_frame_host,
30                                int request_id,
31                                const GURL& requesting_origin) override;
32
33   PermissionStatus GetPermissionStatus(
34       PermissionType permission,
35       const GURL& requesting_origin,
36       const GURL& embedding_origin) override;
37
38   void ResetPermission(PermissionType permission,
39                        const GURL& requesting_origin,
40                        const GURL& embedding_origin) override;
41
42   void RegisterPermissionUsage(PermissionType permission,
43                                const GURL& requesting_origin,
44                                const GURL& embedding_origin) override;
45
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;
54
55   void UnsubscribePermissionStatusChange(int subscription_id) override;
56
57  private:
58   DISALLOW_COPY_AND_ASSIGN(PermissionManagerEfl);
59 };
60
61 }
62
63 #endif // PERMISSION_MANAGER_EFL_H_