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, 58545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 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, 666c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen#if defined(QT_DEPRECATED) || defined(qdoc) 67231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block LocalStorageDatabaseEnabled = LocalStorageEnabled, 68231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif 69231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block LocalContentCanAccessRemoteUrls, 70d0825bca7fe65beaee391d30da42e937db621564Steve Block DnsPrefetchEnabled, 71dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block XSSAuditingEnabled, 72dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block AcceleratedCompositingEnabled, 73dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block SpatialNavigationEnabled, 74dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block LocalContentCanAccessFileUrls, 75dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block TiledBackingStoreEnabled, 7621939df44de1705786c545cd1bf519d47250322dBen Murdoch FrameFlatteningEnabled, 7706ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen SiteSpecificQuirksEnabled, 784576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang JavascriptCanCloseWindows, 79bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen WebGLEnabled, 804576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang HyperlinkAuditingEnabled 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project }; 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project enum WebGraphic { 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project MissingImageGraphic, 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project MissingPluginGraphic, 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DefaultFrameIconGraphic, 86643ca7872b450ea4efacab6188849e5aac2ba161Steve Block TextAreaSizeGripCornerGraphic, 87ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block DeleteButtonGraphic, 8865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch InputSpeechButtonGraphic, 8965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch SearchCancelButtonGraphic, 9065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch SearchCancelButtonPressedGraphic 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project }; 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project enum FontSize { 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project MinimumFontSize, 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project MinimumLogicalFontSize, 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DefaultFontSize, 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DefaultFixedFontSize 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project }; 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static QWebSettings *globalSettings(); 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setFontFamily(FontFamily which, const QString &family); 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project QString fontFamily(FontFamily which) const; 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void resetFontFamily(FontFamily which); 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setFontSize(FontSize type, int size); 1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project int fontSize(FontSize type) const; 1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void resetFontSize(FontSize type); 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setAttribute(WebAttribute attr, bool on); 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project bool testAttribute(WebAttribute attr) const; 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void resetAttribute(WebAttribute attr); 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setUserStyleSheetUrl(const QUrl &location); 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project QUrl userStyleSheetUrl() const; 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void setDefaultTextEncoding(const QString &encoding); 1170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch QString defaultTextEncoding() const; 1180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static void setIconDatabasePath(const QString &location); 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static QString iconDatabasePath(); 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static void clearIconDatabase(); 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static QIcon iconForUrl(const QUrl &url); 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 124643ca7872b450ea4efacab6188849e5aac2ba161Steve Block //static QWebPluginDatabase *pluginDatabase(); 1250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static void setWebGraphic(WebGraphic type, const QPixmap &graphic); 1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static QPixmap webGraphic(WebGraphic type); 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static void setMaximumPagesInCache(int pages); 1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static int maximumPagesInCache(); 1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static void setObjectCacheCapacities(int cacheMinDeadCapacity, int cacheMaxDead, int totalCapacity); 1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 133635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project static void setOfflineStoragePath(const QString& path); 134635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project static QString offlineStoragePath(); 135635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project static void setOfflineStorageDefaultQuota(qint64 maximumSize); 136635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project static qint64 offlineStorageDefaultQuota(); 137635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 1380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch static void setOfflineWebApplicationCachePath(const QString& path); 1390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch static QString offlineWebApplicationCachePath(); 1400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch static void setOfflineWebApplicationCacheQuota(qint64 maximumSize); 1410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch static qint64 offlineWebApplicationCacheQuota(); 142231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 143231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setLocalStoragePath(const QString& path); 144231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block QString localStoragePath() const; 1450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch static void clearMemoryCaches(); 1470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 148231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block static void enablePersistentStorage(const QString& path = QString()); 149231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 150635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project inline QWebSettingsPrivate* handle() const { return d; } 151635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectprivate: 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project friend class QWebPagePrivate; 1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project friend class QWebSettingsPrivate; 1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Q_DISABLE_COPY(QWebSettings) 1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project QWebSettings(); 1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project QWebSettings(WebCore::Settings *settings); 1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ~QWebSettings(); 1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project QWebSettingsPrivate *d; 1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}; 1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 166