diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp b/Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp new file mode 100644 index 0000000..dea18aa --- /dev/null +++ b/Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp @@ -0,0 +1,185 @@ +/* + Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "qwkpreferences.h" + +#include "WKPageGroup.h" +#include "WKPreferences.h" +#include "WKStringQt.h" +#include "WKRetainPtr.h" +#include "qwkpreferences_p.h" + + +QWKPreferences* QWKPreferencesPrivate::createPreferences(WKPageGroupRef pageGroupRef) +{ + QWKPreferences* prefs = new QWKPreferences; + prefs->d->ref = WKPageGroupGetPreferences(pageGroupRef); + return prefs; +} + +QWKPreferences* QWKPreferencesPrivate::createSharedPreferences() +{ + QWKPreferences* prefs = new QWKPreferences; + prefs->d->ref = WKPreferencesCreate(); + return prefs; +} + +QWKPreferences* QWKPreferences::sharedPreferences() +{ + static QWKPreferences* instance = 0; + + if (!instance) + instance = QWKPreferencesPrivate::createSharedPreferences(); + return instance; +} + +QWKPreferences::QWKPreferences() + : d(new QWKPreferencesPrivate) +{ +} + +QWKPreferences::~QWKPreferences() +{ + delete d; +} + +void QWKPreferences::setFontFamily(FontFamily which, const QString& family) +{ + switch (which) { + case StandardFont: + WKPreferencesSetStandardFontFamily(d->ref, WKStringCreateWithQString(family)); + break; + case FixedFont: + WKPreferencesSetFixedFontFamily(d->ref, WKStringCreateWithQString(family)); + break; + case SerifFont: + WKPreferencesSetSerifFontFamily(d->ref, WKStringCreateWithQString(family)); + break; + case SansSerifFont: + WKPreferencesSetSansSerifFontFamily(d->ref, WKStringCreateWithQString(family)); + break; + case CursiveFont: + WKPreferencesSetCursiveFontFamily(d->ref, WKStringCreateWithQString(family)); + break; + case FantasyFont: + WKPreferencesSetFantasyFontFamily(d->ref, WKStringCreateWithQString(family)); + break; + default: + break; + } +} + +QString QWKPreferences::fontFamily(FontFamily which) const +{ + switch (which) { + case StandardFont: { + WKRetainPtr<WKStringRef> stringRef(AdoptWK, WKPreferencesCopyStandardFontFamily(d->ref)); + return WKStringCopyQString(stringRef.get()); + } + case FixedFont: { + WKRetainPtr<WKStringRef> stringRef(AdoptWK, WKPreferencesCopyFixedFontFamily(d->ref)); + return WKStringCopyQString(stringRef.get()); + } + case SerifFont: { + WKRetainPtr<WKStringRef> stringRef(AdoptWK, WKPreferencesCopySerifFontFamily(d->ref)); + return WKStringCopyQString(stringRef.get()); + } + case SansSerifFont: { + WKRetainPtr<WKStringRef> stringRef(AdoptWK, WKPreferencesCopySansSerifFontFamily(d->ref)); + return WKStringCopyQString(stringRef.get()); + } + case CursiveFont: { + WKRetainPtr<WKStringRef> stringRef(AdoptWK, WKPreferencesCopyCursiveFontFamily(d->ref)); + return WKStringCopyQString(stringRef.get()); + } + case FantasyFont: { + WKRetainPtr<WKStringRef> stringRef(AdoptWK, WKPreferencesCopyFantasyFontFamily(d->ref)); + return WKStringCopyQString(stringRef.get()); + } + default: + return QString(); + } +} + +bool QWKPreferences::testAttribute(WebAttribute attr) const +{ + switch (attr) { + case AutoLoadImages: + return WKPreferencesGetLoadsImagesAutomatically(d->ref); + case JavascriptEnabled: + return WKPreferencesGetJavaScriptEnabled(d->ref); + case PluginsEnabled: + return WKPreferencesGetPluginsEnabled(d->ref); + case OfflineWebApplicationCacheEnabled: + return WKPreferencesGetOfflineWebApplicationCacheEnabled(d->ref); + case LocalStorageEnabled: + return WKPreferencesGetLocalStorageEnabled(d->ref); + case XSSAuditingEnabled: + return WKPreferencesGetXSSAuditorEnabled(d->ref); + case FrameFlatteningEnabled: + return WKPreferencesGetFrameFlatteningEnabled(d->ref); + case PrivateBrowsingEnabled: + return WKPreferencesGetPrivateBrowsingEnabled(d->ref); + case DeveloperExtrasEnabled: + return WKPreferencesGetDeveloperExtrasEnabled(d->ref); + case DnsPrefetchEnabled: + return WKPreferencesGetDNSPrefetchingEnabled(d->ref); + default: + ASSERT_NOT_REACHED(); + return false; + } +} + +void QWKPreferences::setAttribute(WebAttribute attr, bool on) +{ + switch (attr) { + case AutoLoadImages: + WKPreferencesSetLoadsImagesAutomatically(d->ref, on); + break; + case JavascriptEnabled: + WKPreferencesSetJavaScriptEnabled(d->ref, on); + break; + case PluginsEnabled: + WKPreferencesSetPluginsEnabled(d->ref, on); + break; + case OfflineWebApplicationCacheEnabled: + WKPreferencesSetOfflineWebApplicationCacheEnabled(d->ref, on); + break; + case LocalStorageEnabled: + WKPreferencesSetLocalStorageEnabled(d->ref, on); + break; + case XSSAuditingEnabled: + WKPreferencesSetXSSAuditorEnabled(d->ref, on); + break; + case FrameFlatteningEnabled: + WKPreferencesSetFrameFlatteningEnabled(d->ref, on); + break; + case PrivateBrowsingEnabled: + WKPreferencesSetPrivateBrowsingEnabled(d->ref, on); + break; + case DeveloperExtrasEnabled: + WKPreferencesSetDeveloperExtrasEnabled(d->ref, on); + break; + case DnsPrefetchEnabled: + WKPreferencesSetDNSPrefetchingEnabled(d->ref, on); + break; + default: + ASSERT_NOT_REACHED(); + } +} |