165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch/*
265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    This library is free software; you can redistribute it and/or
565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    modify it under the terms of the GNU Library General Public
665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    License as published by the Free Software Foundation; either
765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    version 2 of the License, or (at your option) any later version.
865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    This library is distributed in the hope that it will be useful,
1065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    but WITHOUT ANY WARRANTY; without even the implied warranty of
1165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    Library General Public License for more details.
1365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
1465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    You should have received a copy of the GNU Library General Public License
1565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    along with this library; see the file COPYING.LIB.  If not, write to
1665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
1765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    Boston, MA 02110-1301, USA.
1865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch*/
1965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
202fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#include "config.h"
2165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "qwkpreferences.h"
2265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
2365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "WKPageGroup.h"
2465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "WKPreferences.h"
2565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "WKStringQt.h"
2665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "WKRetainPtr.h"
2765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "qwkpreferences_p.h"
2865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
2965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
3065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben MurdochQWKPreferences* QWKPreferencesPrivate::createPreferences(WKPageGroupRef pageGroupRef)
3165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{
3265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    QWKPreferences* prefs = new QWKPreferences;
3365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    prefs->d->ref = WKPageGroupGetPreferences(pageGroupRef);
3465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    return prefs;
3565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch}
3665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
3765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben MurdochQWKPreferences* QWKPreferencesPrivate::createSharedPreferences()
3865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{
3965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    QWKPreferences* prefs = new QWKPreferences;
4065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    prefs->d->ref = WKPreferencesCreate();
4165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    return prefs;
4265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch}
4365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
4465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben MurdochQWKPreferences* QWKPreferences::sharedPreferences()
4565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{
4665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    static QWKPreferences* instance = 0;
4765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
4865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    if (!instance)
4965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        instance = QWKPreferencesPrivate::createSharedPreferences();
5065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    return instance;
5165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch}
5265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
5365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben MurdochQWKPreferences::QWKPreferences()
5465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    : d(new QWKPreferencesPrivate)
5565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{
5665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch}
5765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
5865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben MurdochQWKPreferences::~QWKPreferences()
5965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{
6065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    delete d;
6165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch}
6265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
6365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid QWKPreferences::setFontFamily(FontFamily which, const QString& family)
6465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{
6565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    switch (which) {
6665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case StandardFont:
6765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetStandardFontFamily(d->ref, WKStringCreateWithQString(family));
6865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
6965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case FixedFont:
7065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetFixedFontFamily(d->ref, WKStringCreateWithQString(family));
7165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
7265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case SerifFont:
7365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetSerifFontFamily(d->ref, WKStringCreateWithQString(family));
7465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
7565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case SansSerifFont:
7665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetSansSerifFontFamily(d->ref, WKStringCreateWithQString(family));
7765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
7865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case CursiveFont:
7965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetCursiveFontFamily(d->ref, WKStringCreateWithQString(family));
8065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
8165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case FantasyFont:
8265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetFantasyFontFamily(d->ref, WKStringCreateWithQString(family));
8365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
8465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    default:
8565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
8665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    }
8765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch}
8865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
8965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben MurdochQString QWKPreferences::fontFamily(FontFamily which) const
9065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{
9165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    switch (which) {
9265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case StandardFont: {
9365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKRetainPtr<WKStringRef> stringRef(AdoptWK, WKPreferencesCopyStandardFontFamily(d->ref));
9465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKStringCopyQString(stringRef.get());
9565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    }
9665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case FixedFont: {
9765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKRetainPtr<WKStringRef> stringRef(AdoptWK, WKPreferencesCopyFixedFontFamily(d->ref));
9865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKStringCopyQString(stringRef.get());
9965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    }
10065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case SerifFont: {
10165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKRetainPtr<WKStringRef> stringRef(AdoptWK, WKPreferencesCopySerifFontFamily(d->ref));
10265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKStringCopyQString(stringRef.get());
10365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    }
10465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case SansSerifFont: {
10565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKRetainPtr<WKStringRef> stringRef(AdoptWK, WKPreferencesCopySansSerifFontFamily(d->ref));
10665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKStringCopyQString(stringRef.get());
10765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    }
10865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case CursiveFont: {
10965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKRetainPtr<WKStringRef> stringRef(AdoptWK, WKPreferencesCopyCursiveFontFamily(d->ref));
11065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKStringCopyQString(stringRef.get());
11165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    }
11265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case FantasyFont: {
11365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKRetainPtr<WKStringRef> stringRef(AdoptWK, WKPreferencesCopyFantasyFontFamily(d->ref));
11465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKStringCopyQString(stringRef.get());
11565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    }
11665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    default:
11765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return QString();
11865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    }
11965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch}
12065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
12165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochbool QWKPreferences::testAttribute(WebAttribute attr) const
12265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{
12365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    switch (attr) {
12465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case AutoLoadImages:
12565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKPreferencesGetLoadsImagesAutomatically(d->ref);
12665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case JavascriptEnabled:
12765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKPreferencesGetJavaScriptEnabled(d->ref);
12865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case PluginsEnabled:
12965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKPreferencesGetPluginsEnabled(d->ref);
13065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case OfflineWebApplicationCacheEnabled:
13165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKPreferencesGetOfflineWebApplicationCacheEnabled(d->ref);
13265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case LocalStorageEnabled:
13365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKPreferencesGetLocalStorageEnabled(d->ref);
13465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case XSSAuditingEnabled:
13565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKPreferencesGetXSSAuditorEnabled(d->ref);
13665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case FrameFlatteningEnabled:
13765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKPreferencesGetFrameFlatteningEnabled(d->ref);
13865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case PrivateBrowsingEnabled:
13965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKPreferencesGetPrivateBrowsingEnabled(d->ref);
14065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case DeveloperExtrasEnabled:
14165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKPreferencesGetDeveloperExtrasEnabled(d->ref);
14265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case DnsPrefetchEnabled:
14365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return WKPreferencesGetDNSPrefetchingEnabled(d->ref);
14465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    default:
14565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        ASSERT_NOT_REACHED();
14665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        return false;
14765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    }
14865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch}
14965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch
15065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid QWKPreferences::setAttribute(WebAttribute attr, bool on)
15165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{
15265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    switch (attr) {
15365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case AutoLoadImages:
15465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetLoadsImagesAutomatically(d->ref, on);
15565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
15665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case JavascriptEnabled:
15765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetJavaScriptEnabled(d->ref, on);
15865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
15965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case PluginsEnabled:
16065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetPluginsEnabled(d->ref, on);
16165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
16265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case OfflineWebApplicationCacheEnabled:
16365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetOfflineWebApplicationCacheEnabled(d->ref, on);
16465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
16565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case LocalStorageEnabled:
16665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetLocalStorageEnabled(d->ref, on);
16765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
16865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case XSSAuditingEnabled:
16965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetXSSAuditorEnabled(d->ref, on);
17065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
17165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case FrameFlatteningEnabled:
17265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetFrameFlatteningEnabled(d->ref, on);
17365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
17465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case PrivateBrowsingEnabled:
17565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetPrivateBrowsingEnabled(d->ref, on);
17665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
17765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case DeveloperExtrasEnabled:
17865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetDeveloperExtrasEnabled(d->ref, on);
17965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
18065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    case DnsPrefetchEnabled:
18165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        WKPreferencesSetDNSPrefetchingEnabled(d->ref, on);
18265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        break;
18365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    default:
18465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        ASSERT_NOT_REACHED();
18565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch    }
18665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch}
18781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
18881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochvoid QWKPreferences::setFontSize(FontSize type, int size)
18981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
19081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    switch (type) {
19181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    case MinimumFontSize:
19281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch         WKPreferencesSetMinimumFontSize(d->ref, size);
19381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch         break;
19481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    case DefaultFontSize:
19581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch         WKPreferencesSetDefaultFontSize(d->ref, size);
19681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch         break;
19781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    case DefaultFixedFontSize:
19881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch         WKPreferencesSetDefaultFixedFontSize(d->ref, size);
19981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch         break;
20081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    default:
20181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        ASSERT_NOT_REACHED();
20281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    }
20381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
20481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
20581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochint QWKPreferences::fontSize(FontSize type) const
20681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
20781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    switch (type) {
20881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    case MinimumFontSize:
20981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch         return WKPreferencesGetMinimumFontSize(d->ref);
21081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    case DefaultFontSize:
21181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch         return WKPreferencesGetDefaultFontSize(d->ref);
21281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    case DefaultFixedFontSize:
21381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch         return WKPreferencesGetDefaultFixedFontSize(d->ref);
21481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    default:
21581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        ASSERT_NOT_REACHED();
21681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        return false;
21781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    }
21881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
21981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
220