qwebsettings.h revision d0825bca7fe65beaee391d30da42e937db621564
18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project This library is free software; you can redistribute it and/or 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project modify it under the terms of the GNU Library General Public 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project License as published by the Free Software Foundation; either 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project version 2 of the License, or (at your option) any later version. 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project This library is distributed in the hope that it will be useful, 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project but WITHOUT ANY WARRANTY; without even the implied warranty of 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Library General Public License for more details. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project You should have received a copy of the GNU Library General Public License 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project along with this library; see the file COPYING.LIB. If not, write to 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Boston, MA 02110-1301, USA. 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef QWEBSETTINGS_H 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define QWEBSETTINGS_H 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "qwebkitglobal.h" 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <QtCore/qstring.h> 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <QtGui/qpixmap.h> 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <QtGui/qicon.h> 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <QtCore/qshareddata.h> 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochnamespace WebCore { 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project class Settings; 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass QWebPage; 350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochclass QWebPluginDatabase; 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass QWebSettingsPrivate; 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectQT_BEGIN_NAMESPACE 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass QUrl; 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectQT_END_NAMESPACE 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochclass QWEBKIT_EXPORT QWebSettings { 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpublic: 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project enum FontFamily { 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project StandardFont, 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project FixedFont, 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SerifFont, 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SansSerifFont, 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project CursiveFont, 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project FantasyFont 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project }; 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project enum WebAttribute { 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project AutoLoadImages, 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project JavascriptEnabled, 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project JavaEnabled, 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project PluginsEnabled, 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project PrivateBrowsingEnabled, 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project JavascriptCanOpenWindows, 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project JavascriptCanAccessClipboard, 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DeveloperExtrasEnabled, 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project LinksIncludedInFocusChain, 61635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project ZoomTextOnly, 62635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project PrintElementBackgrounds, 63635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project OfflineStorageDatabaseEnabled, 64635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project OfflineWebApplicationCacheEnabled, 65231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block LocalStorageEnabled, 66231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#ifdef QT_DEPRECATED 67231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block LocalStorageDatabaseEnabled = LocalStorageEnabled, 68231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif 69231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block LocalContentCanAccessRemoteUrls, 70d0825bca7fe65beaee391d30da42e937db621564Steve Block DnsPrefetchEnabled, 71d0825bca7fe65beaee391d30da42e937db621564Steve Block XSSAuditorEnabled, 72d0825bca7fe65beaee391d30da42e937db621564Steve Block AcceleratedCompositingEnabled 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project }; 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project enum WebGraphic { 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project MissingImageGraphic, 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project MissingPluginGraphic, 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DefaultFrameIconGraphic, 78643ca7872b450ea4efacab6188849e5aac2ba161Steve Block TextAreaSizeGripCornerGraphic, 79643ca7872b450ea4efacab6188849e5aac2ba161Steve Block DeleteButtonGraphic 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project }; 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project enum FontSize { 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project MinimumFontSize, 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project MinimumLogicalFontSize, 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DefaultFontSize, 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DefaultFixedFontSize 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project }; 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static QWebSettings *globalSettings(); 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setFontFamily(FontFamily which, const QString &family); 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project QString fontFamily(FontFamily which) const; 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void resetFontFamily(FontFamily which); 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setFontSize(FontSize type, int size); 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project int fontSize(FontSize type) const; 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void resetFontSize(FontSize type); 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setAttribute(WebAttribute attr, bool on); 998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project bool testAttribute(WebAttribute attr) const; 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void resetAttribute(WebAttribute attr); 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setUserStyleSheetUrl(const QUrl &location); 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project QUrl userStyleSheetUrl() const; 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void setDefaultTextEncoding(const QString &encoding); 1060bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch QString defaultTextEncoding() const; 1070bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static void setIconDatabasePath(const QString &location); 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static QString iconDatabasePath(); 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static void clearIconDatabase(); 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static QIcon iconForUrl(const QUrl &url); 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 113643ca7872b450ea4efacab6188849e5aac2ba161Steve Block //static QWebPluginDatabase *pluginDatabase(); 1140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static void setWebGraphic(WebGraphic type, const QPixmap &graphic); 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static QPixmap webGraphic(WebGraphic type); 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static void setMaximumPagesInCache(int pages); 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static int maximumPagesInCache(); 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static void setObjectCacheCapacities(int cacheMinDeadCapacity, int cacheMaxDead, int totalCapacity); 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 122635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project static void setOfflineStoragePath(const QString& path); 123635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project static QString offlineStoragePath(); 124635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project static void setOfflineStorageDefaultQuota(qint64 maximumSize); 125635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project static qint64 offlineStorageDefaultQuota(); 126635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 1270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch static void setOfflineWebApplicationCachePath(const QString& path); 1280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch static QString offlineWebApplicationCachePath(); 1290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch static void setOfflineWebApplicationCacheQuota(qint64 maximumSize); 1300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch static qint64 offlineWebApplicationCacheQuota(); 131231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 132231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setLocalStoragePath(const QString& path); 133231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block QString localStoragePath() const; 1340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch static void clearMemoryCaches(); 1360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 137231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block static void enablePersistentStorage(const QString& path = QString()); 138231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 139635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project inline QWebSettingsPrivate* handle() const { return d; } 140635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectprivate: 1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project friend class QWebPagePrivate; 1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project friend class QWebSettingsPrivate; 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Q_DISABLE_COPY(QWebSettings) 1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project QWebSettings(); 1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project QWebSettings(WebCore::Settings *settings); 1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ~QWebSettings(); 1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project QWebSettingsPrivate *d; 1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}; 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 155