WebKit/qt/Api/qwebsettings.cpp
changeset 2 303757a437d3
parent 0 4f2f89ce4247
--- a/WebKit/qt/Api/qwebsettings.cpp	Fri Sep 17 09:02:29 2010 +0300
+++ b/WebKit/qt/Api/qwebsettings.cpp	Mon Oct 04 01:32:07 2010 +0300
@@ -34,6 +34,7 @@
 #include "KURL.h"
 #include "PlatformString.h"
 #include "IconDatabase.h"
+#include "PluginDatabase.h"
 #include "Image.h"
 #include "IntSize.h"
 #include "ApplicationCacheStorage.h"
@@ -457,12 +458,32 @@
     d->fontSizes.insert(QWebSettings::MinimumLogicalFontSize, 0);
     d->fontSizes.insert(QWebSettings::DefaultFontSize, 16);
     d->fontSizes.insert(QWebSettings::DefaultFixedFontSize, 13);
-    d->fontFamilies.insert(QWebSettings::StandardFont, QLatin1String("Arial"));
-    d->fontFamilies.insert(QWebSettings::FixedFont, QLatin1String("Courier New"));
-    d->fontFamilies.insert(QWebSettings::SerifFont, QLatin1String("Times New Roman"));
-    d->fontFamilies.insert(QWebSettings::SansSerifFont, QLatin1String("Arial"));
-    d->fontFamilies.insert(QWebSettings::CursiveFont, QLatin1String("Arial"));
-    d->fontFamilies.insert(QWebSettings::FantasyFont, QLatin1String("Arial"));
+
+    QFont defaultFont;
+    defaultFont.setStyleHint(QFont::Serif);
+    d->fontFamilies.insert(QWebSettings::StandardFont, defaultFont.defaultFamily());
+    d->fontFamilies.insert(QWebSettings::SerifFont, defaultFont.defaultFamily());
+
+#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
+    defaultFont.setStyleHint(QFont::Fantasy);
+    d->fontFamilies.insert(QWebSettings::FantasyFont, defaultFont.defaultFamily());
+
+    defaultFont.setStyleHint(QFont::Cursive);
+    d->fontFamilies.insert(QWebSettings::CursiveFont, defaultFont.defaultFamily());
+#else
+    d->fontFamilies.insert(QWebSettings::FantasyFont, defaultFont.defaultFamily());
+    d->fontFamilies.insert(QWebSettings::CursiveFont, defaultFont.defaultFamily());
+#endif
+
+    defaultFont.setStyleHint(QFont::SansSerif);
+    d->fontFamilies.insert(QWebSettings::SansSerifFont, defaultFont.defaultFamily());
+
+#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
+    defaultFont.setStyleHint(QFont::Monospace);
+#else
+    defaultFont.setStyleHint(QFont::TypeWriter);
+#endif
+    d->fontFamilies.insert(QWebSettings::FixedFont, defaultFont.defaultFamily());
 
     d->attributes.insert(QWebSettings::AutoLoadImages, true);
     d->attributes.insert(QWebSettings::DnsPrefetchEnabled, false);
@@ -1073,6 +1094,14 @@
     QWebSettings::globalSettings()->setAttribute(QWebSettings::LocalStorageEnabled, true);
     QWebSettings::globalSettings()->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true);
     QWebSettings::globalSettings()->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, true);
+
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+    QFileInfo info(storagePath);
+    if (info.isDir() && info.isWritable()) {
+        WebCore::PluginDatabase::setPersistentMetadataCacheEnabled(true);
+        WebCore::PluginDatabase::setPersistentMetadataCachePath(storagePath);
+    }
+#endif
 }
 
 /*!