summaryrefslogtreecommitdiff
path: root/Source/WebKit/qt/Api/qwebsettings.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2013-09-13 12:51:20 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-19 20:50:05 +0200
commitd441d6f39bb846989d95bcf5caf387b42414718d (patch)
treee367e64a75991c554930278175d403c072de6bb8 /Source/WebKit/qt/Api/qwebsettings.cpp
parent0060b2994c07842f4c59de64b5e3e430525c4b90 (diff)
downloadqtwebkit-d441d6f39bb846989d95bcf5caf387b42414718d.tar.gz
Import Qt5x2 branch of QtWebkit for Qt 5.2
Importing a new snapshot of webkit. Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/WebKit/qt/Api/qwebsettings.cpp')
-rw-r--r--Source/WebKit/qt/Api/qwebsettings.cpp43
1 files changed, 29 insertions, 14 deletions
diff --git a/Source/WebKit/qt/Api/qwebsettings.cpp b/Source/WebKit/qt/Api/qwebsettings.cpp
index a905e2e27..5e3cee7bb 100644
--- a/Source/WebKit/qt/Api/qwebsettings.cpp
+++ b/Source/WebKit/qt/Api/qwebsettings.cpp
@@ -22,10 +22,9 @@
#include "qwebplugindatabase_p.h"
-#include "AbstractDatabase.h"
#include "ApplicationCacheStorage.h"
#include "CrossOriginPreflightResultCache.h"
-#include "DatabaseTracker.h"
+#include "DatabaseManager.h"
#include "FileSystem.h"
#include "FontCache.h"
#include "GCController.h"
@@ -44,6 +43,8 @@
#include "PluginDatabase.h"
#include "RuntimeEnabledFeatures.h"
#include "Settings.h"
+#include "StorageThread.h"
+#include "WorkerThread.h"
#include <QDir>
#include <QFileInfo>
#include <QFont>
@@ -52,11 +53,12 @@
#include <QSharedData>
#include <QStandardPaths>
#include <QUrl>
+#include <wtf/FastMalloc.h>
#include <wtf/text/WTFString.h>
-void QWEBKIT_EXPORT qt_networkAccessAllowed(bool isAllowed)
+QWEBKIT_EXPORT void qt_networkAccessAllowed(bool isAllowed)
{
#ifndef QT_NO_BEARERMANAGEMENT
WebCore::networkStateNotifier().setNetworkAccessAllowed(isAllowed);
@@ -149,10 +151,10 @@ void QWebSettingsPrivate::apply()
global->attributes.value(QWebSettings::AcceleratedCompositingEnabled));
settings->setAcceleratedCompositingEnabled(value);
- settings->setAcceleratedCompositingFor3DTransformsEnabled(value);
- settings->setAcceleratedCompositingForAnimationEnabled(value);
- settings->setAcceleratedCompositingForVideoEnabled(false);
- settings->setAcceleratedCompositingForPluginsEnabled(false);
+
+ bool showDebugVisuals = qgetenv("WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS") == "1";
+ settings->setShowDebugBorders(showDebugVisuals);
+ settings->setShowRepaintCounter(showDebugVisuals);
#endif
#if ENABLE(WEBGL)
value = attributes.value(QWebSettings::WebGLEnabled,
@@ -163,14 +165,18 @@ void QWebSettingsPrivate::apply()
// For now, enable CSS shaders when WebGL is enabled.
settings->setCSSCustomFilterEnabled(value);
#endif
-#if USE(ACCELERATED_COMPOSITING)
- settings->setAcceleratedCompositingForCanvasEnabled(value);
#endif
+#if ENABLE(WEB_AUDIO)
+ value = attributes.value(QWebSettings::WebAudioEnabled, global->attributes.value(QWebSettings::WebAudioEnabled));
+ settings->setWebAudioEnabled(value);
#endif
value = attributes.value(QWebSettings::CSSRegionsEnabled,
global->attributes.value(QWebSettings::CSSRegionsEnabled));
WebCore::RuntimeEnabledFeatures::setCSSRegionsEnabled(value);
+ value = attributes.value(QWebSettings::CSSCompositingEnabled,
+ global->attributes.value(QWebSettings::CSSCompositingEnabled));
+ WebCore::RuntimeEnabledFeatures::setCSSCompositingEnabled(value);
value = attributes.value(QWebSettings::CSSGridLayoutEnabled,
global->attributes.value(QWebSettings::CSSGridLayoutEnabled));
settings->setCSSGridLayoutEnabled(value);
@@ -236,7 +242,7 @@ void QWebSettingsPrivate::apply()
#if ENABLE(SQL_DATABASE)
value = attributes.value(QWebSettings::OfflineStorageDatabaseEnabled,
global->attributes.value(QWebSettings::OfflineStorageDatabaseEnabled));
- WebCore::AbstractDatabase::setIsAvailable(value);
+ WebCore::DatabaseManager::manager().setIsAvailable(value);
#endif
value = attributes.value(QWebSettings::OfflineWebApplicationCacheEnabled,
@@ -268,7 +274,7 @@ void QWebSettingsPrivate::apply()
#if ENABLE(SMOOTH_SCROLLING)
value = attributes.value(QWebSettings::ScrollAnimatorEnabled,
global->attributes.value(QWebSettings::ScrollAnimatorEnabled));
- settings->setEnableScrollAnimator(value);
+ settings->setScrollAnimatorEnabled(value);
#endif
value = attributes.value(QWebSettings::CaretBrowsingEnabled,
@@ -540,7 +546,9 @@ QWebSettings::QWebSettings()
d->attributes.insert(QWebSettings::LocalContentCanAccessFileUrls, true);
d->attributes.insert(QWebSettings::AcceleratedCompositingEnabled, true);
d->attributes.insert(QWebSettings::WebGLEnabled, true);
+ d->attributes.insert(QWebSettings::WebAudioEnabled, false);
d->attributes.insert(QWebSettings::CSSRegionsEnabled, true);
+ d->attributes.insert(QWebSettings::CSSCompositingEnabled, true);
d->attributes.insert(QWebSettings::CSSGridLayoutEnabled, false);
d->attributes.insert(QWebSettings::HyperlinkAuditingEnabled, false);
d->attributes.insert(QWebSettings::TiledBackingStoreEnabled, false);
@@ -829,7 +837,6 @@ void QWebSettings::clearMemoryCaches()
int pageCapacity = WebCore::pageCache()->capacity();
// Setting size to 0, makes all pages be released.
WebCore::pageCache()->setCapacity(0);
- WebCore::pageCache()->releaseAutoreleasedPagesNow();
WebCore::pageCache()->setCapacity(pageCapacity);
// Invalidating the font cache and freeing all inactive font data.
@@ -842,6 +849,13 @@ void QWebSettings::clearMemoryCaches()
WebCore::gcController().discardAllCompiledCode();
// Garbage Collect to release the references of CachedResource from dead objects.
WebCore::gcController().garbageCollectNow();
+
+ // FastMalloc has lock-free thread specific caches that can only be cleared from the thread itself.
+ WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads();
+#if ENABLE(WORKERS)
+ WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads();
+#endif
+ WTF::releaseFastMallocFreeMemory();
}
/*!
@@ -895,6 +909,7 @@ void QWebSettings::setObjectCacheCapacities(int cacheMinDeadCapacity, int cacheM
WebCore::memoryCache()->setCapacities(qMax(0, cacheMinDeadCapacity),
qMax(0, cacheMaxDead),
qMax(0, totalCapacity));
+ WebCore::memoryCache()->setDeadDecodedDataDeletionInterval(disableCache ? 0 : 60);
}
/*!
@@ -1037,7 +1052,7 @@ void QWebSettings::setOfflineStoragePath(const QString& path)
{
WebCore::initializeWebCoreQt();
#if ENABLE(SQL_DATABASE)
- WebCore::DatabaseTracker::tracker().setDatabaseDirectoryPath(path);
+ WebCore::DatabaseManager::manager().setDatabaseDirectoryPath(path);
#endif
}
@@ -1053,7 +1068,7 @@ QString QWebSettings::offlineStoragePath()
{
WebCore::initializeWebCoreQt();
#if ENABLE(SQL_DATABASE)
- return WebCore::DatabaseTracker::tracker().databaseDirectoryPath();
+ return WebCore::DatabaseManager::manager().databaseDirectoryPath();
#else
return QString();
#endif