1/* 2 Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 18*/ 19 20#ifndef _WEBSECURITYORIGIN_H_ 21#define _WEBSECURITYORIGIN_H_ 22 23#include <QtCore/qurl.h> 24#include <QtCore/qshareddata.h> 25 26#include "qwebkitglobal.h" 27 28namespace WebCore { 29 class SecurityOrigin; 30 class ChromeClientQt; 31} 32 33class QWebSecurityOriginPrivate; 34class QWebDatabase; 35class QWebFrame; 36 37class QWEBKIT_EXPORT QWebSecurityOrigin { 38public: 39 static QList<QWebSecurityOrigin> allOrigins(); 40 static void addLocalScheme(const QString& scheme); 41 static void removeLocalScheme(const QString& scheme); 42 static QStringList localSchemes(); 43 44 ~QWebSecurityOrigin(); 45 46 QString scheme() const; 47 QString host() const; 48 int port() const; 49 50 qint64 databaseUsage() const; 51 qint64 databaseQuota() const; 52 53 void setDatabaseQuota(qint64 quota); 54 void setApplicationCacheQuota(qint64 quota); 55 56 QList<QWebDatabase> databases() const; 57 58 QWebSecurityOrigin(const QWebSecurityOrigin& other); 59 QWebSecurityOrigin &operator=(const QWebSecurityOrigin& other); 60private: 61 friend class QWebDatabase; 62 friend class QWebFrame; 63 friend class WebCore::ChromeClientQt; 64 QWebSecurityOrigin(QWebSecurityOriginPrivate* priv); 65 66private: 67 QExplicitlySharedDataPointer<QWebSecurityOriginPrivate> d; 68}; 69 70#endif 71