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