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