1f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// found in the LICENSE file. 4f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 5f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#ifndef ANDROID_WEBVIEW_BROWSER_AW_BROWSER_PERMISSION_REQUEST_DELEGATE_H_ 6f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#define ANDROID_WEBVIEW_BROWSER_AW_BROWSER_PERMISSION_REQUEST_DELEGATE_H_ 7f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 8f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "base/callback_forward.h" 9f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "url/gurl.h" 10f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 11f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)namespace android_webview { 12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 13f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Delegate interface to handle the permission requests from |BrowserContext|. 14f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)class AwBrowserPermissionRequestDelegate { 15f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) public: 16f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) // Returns the AwBrowserPermissionRequestDelegate instance associated with 17f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) // the given render_process_id and render_view_id, or NULL. 18f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) static AwBrowserPermissionRequestDelegate* FromID(int render_process_id, 19f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) int render_view_id); 20f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 21f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) virtual void RequestProtectedMediaIdentifierPermission( 22f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) const GURL& origin, 23f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) const base::Callback<void(bool)>& callback) = 0; 24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) virtual void CancelProtectedMediaIdentifierPermissionRequests( 26f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) const GURL& origin) = 0; 27f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual void RequestGeolocationPermission( 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const GURL& origin, 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const base::Callback<void(bool)>& callback) = 0; 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual void CancelGeolocationPermissionRequests(const GURL& origin) = 0; 33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 34f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) protected: 35f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) AwBrowserPermissionRequestDelegate() {} 36f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)}; 37f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 38f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} // namespace android_webview 39f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#endif // ANDROID_WEBVIEW_BROWSER_AW_BROWSER_PERMISSION_REQUEST_DELEGATE_H_ 40