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_MEDIA_ACCESS_PERMISSION_REQUEST_H 6010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define ANDROID_WEBVIEW_NATIVE_PERMISSION_MEDIA_ACCESS_PERMISSION_REQUEST_H 7010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 8010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "android_webview/native/permission/aw_permission_request_delegate.h" 9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "base/callback.h" 10010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "content/public/common/media_stream_request.h" 11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)namespace android_webview { 13010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// The AwPermissionRequestDelegate implementation for media access permission 15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// request. 16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class MediaAccessPermissionRequest : public AwPermissionRequestDelegate { 17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) public: 18010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) MediaAccessPermissionRequest(const content::MediaStreamRequest& request, 19010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) const content::MediaResponseCallback& callback); 20010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) virtual ~MediaAccessPermissionRequest(); 21010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 22010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) // AwPermissionRequestDelegate implementation. 23010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) virtual const GURL& GetOrigin() OVERRIDE; 24010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) virtual int64 GetResources() OVERRIDE; 25010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) virtual void NotifyRequestResult(bool allowed) OVERRIDE; 26010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 27010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) private: 28010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) friend class TestMediaAccessPermissionRequest; 29010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 30010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) const content::MediaStreamRequest request_; 31010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) const content::MediaResponseCallback callback_; 32010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 33010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) // For test only. 34010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) content::MediaStreamDevices audio_test_devices_; 35010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) content::MediaStreamDevices video_test_devices_; 36010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 37010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(MediaAccessPermissionRequest); 38010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}; 39010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 40010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)} // namespace android_webview 41010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 42010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#endif // ANDROID_WEBVIEW_NATIVE_PERMISSION_MEDIA_ACCESS_PERMISSION_REQUEST_H 43