Home | History | Annotate | Download | only in browser
      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:
     35   AwBrowserPermissionRequestDelegate() {}
     36 };
     37 
     38 }  // namespace android_webview
     39 #endif  // ANDROID_WEBVIEW_BROWSER_AW_BROWSER_PERMISSION_REQUEST_DELEGATE_H_
     40