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 28 namespace WebCore { 29 class SecurityOrigin; 30 class ChromeClientQt; 31 } 32 33 class QWebSecurityOriginPrivate; 34 class QWebDatabase; 35 class QWebFrame; 36 37 class QWEBKIT_EXPORT QWebSecurityOrigin { 38 public: 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); 60 private: 61 friend class QWebDatabase; 62 friend class QWebFrame; 63 friend class WebCore::ChromeClientQt; 64 QWebSecurityOrigin(QWebSecurityOriginPrivate* priv); 65 66 private: 67 QExplicitlySharedDataPointer<QWebSecurityOriginPrivate> d; 68 }; 69 70 #endif 71