1d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// found in the LICENSE file. 4d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 5d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#ifndef WebPermissionCallbacks_h 6d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#define WebPermissionCallbacks_h 7d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 8d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#include "WebPrivatePtr.h" 9d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 10d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)namespace WTF { template <typename T> class PassOwnPtr; } 11d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 12d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)namespace blink { 13d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 14e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)class PermissionCallbacks; 15d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)class WebPermissionCallbacksPrivate; 16d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 17d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)class WebPermissionCallbacks { 18d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)public: 19d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) ~WebPermissionCallbacks() { reset(); } 20d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) WebPermissionCallbacks() { } 21d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) WebPermissionCallbacks(const WebPermissionCallbacks& c) { assign(c); } 22d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) WebPermissionCallbacks& operator=(const WebPermissionCallbacks& c) 23d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) { 24d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) assign(c); 25d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) return *this; 26d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) } 27d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 28d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) BLINK_PLATFORM_EXPORT void reset(); 29d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) BLINK_PLATFORM_EXPORT void assign(const WebPermissionCallbacks&); 30d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 31d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#if INSIDE_BLINK 32e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) BLINK_PLATFORM_EXPORT WebPermissionCallbacks(const WTF::PassOwnPtr<PermissionCallbacks>&); 33d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#endif 34d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 35d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) BLINK_PLATFORM_EXPORT void doAllow(); 36d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) BLINK_PLATFORM_EXPORT void doDeny(); 37d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 38d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)private: 39d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) WebPrivatePtr<WebPermissionCallbacksPrivate> m_private; 40d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)}; 41d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 42d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)} // namespace blink 43d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 44d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#endif 45