1010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// found in the LICENSE file. 4010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#ifndef ANDROID_WEBVIEW_NATIVE_PERMISSION_AW_PERMISSION_REQUEST_DELEGATE_H 6010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define ANDROID_WEBVIEW_NATIVE_PERMISSION_AW_PERMISSION_REQUEST_DELEGATE_H 7010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 8010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "base/basictypes.h" 9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "base/macros.h" 10010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "url/gurl.h" 11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)namespace android_webview { 13010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// The delegate interface to be implemented for a specific permission request. 15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class AwPermissionRequestDelegate { 16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) public: 17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) AwPermissionRequestDelegate(); 18010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) virtual ~AwPermissionRequestDelegate(); 19010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 20010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) // Get the origin which initiated the permission request. 21010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) virtual const GURL& GetOrigin() = 0; 22010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 23010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) // Get the resources the origin wanted to access. 24010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) virtual int64 GetResources() = 0; 25010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 26010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) // Notify the permission request is allowed or not. 27010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) virtual void NotifyRequestResult(bool allowed) = 0; 28010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 29010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(AwPermissionRequestDelegate); 30010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}; 31010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 32010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)} // namespace android_webivew 33010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 34010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#endif // ANDROID_WEBVIEW_NATIVE_PERMISSION_AW_PERMISSION_REQUEST_DELEGATE_H 35