• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 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 ANDROID_WEBVIEW_BROWSER_AW_BROWSER_PERMISSION_REQUEST_DELEGATE_H_
6 #define ANDROID_WEBVIEW_BROWSER_AW_BROWSER_PERMISSION_REQUEST_DELEGATE_H_
7 
8 #include "base/callback_forward.h"
9 #include "url/gurl.h"
10 
11 namespace android_webview {
12 
13 // Delegate interface to handle the permission requests from |BrowserContext|.
14 class AwBrowserPermissionRequestDelegate {
15  public:
16   // Returns the AwBrowserPermissionRequestDelegate instance associated with
17   // the given render_process_id and render_view_id, or NULL.
18   static AwBrowserPermissionRequestDelegate* FromID(int render_process_id,
19                                                     int render_view_id);
20 
21   virtual void RequestProtectedMediaIdentifierPermission(
22       const GURL& origin,
23       const base::Callback<void(bool)>& callback) = 0;
24 
25   virtual void CancelProtectedMediaIdentifierPermissionRequests(
26       const GURL& origin) = 0;
27 
28   virtual void RequestGeolocationPermission(
29       const GURL& origin,
30       const base::Callback<void(bool)>& callback) = 0;
31 
32   virtual void CancelGeolocationPermissionRequests(const GURL& origin) = 0;
33 
34  protected:
AwBrowserPermissionRequestDelegate()35   AwBrowserPermissionRequestDelegate() {}
36 };
37 
38 }  // namespace android_webview
39 #endif  // ANDROID_WEBVIEW_BROWSER_AW_BROWSER_PERMISSION_REQUEST_DELEGATE_H_
40