summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp')
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp185
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();
+ }
+}