summaryrefslogtreecommitdiffstats
path: root/src/webengine
diff options
context:
space:
mode:
authorPierre Rossi <pierre.rossi@digia.com>2014-05-15 16:46:38 +0200
committerAllan Sandfeld Jensen <allan.jensen@digia.com>2014-08-09 12:01:37 +0200
commit37fcb1517cf41066215a3c552c2021773bb1fd63 (patch)
tree59183ce5ca3c2436cbf299e897c528746adaec75 /src/webengine
parent3860d79c0b0d1c623746e40b1d0234674535cc90 (diff)
Ground work for Settings/Preferences
Core interface to expose toggling some of the WebPreferences for now and most probably some of the WebRuntimeFeatures soon. The whole dummy settings business is meant to keep things from breaking too much when bisecting, because it is assumed that there are always valid settings for a given adapterClient. Change-Id: Ic0a62bcb5af8c0254436dc770b43cde5016c3bbd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'src/webengine')
-rw-r--r--src/webengine/api/qquickwebengineview.cpp26
-rw-r--r--src/webengine/api/qquickwebengineview_p_p.h1
2 files changed, 27 insertions, 0 deletions
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index 352c3dcf2..e9c5232ab 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -52,6 +52,8 @@
#include "ui_delegates_manager.h"
#include "web_contents_adapter.h"
#include "web_engine_error.h"
+#include "web_engine_settings.h"
+#include "web_engine_visited_links_manager.h"
#include <QGuiApplication>
#include <QQmlComponent>
@@ -396,6 +398,30 @@ QObject *QQuickWebEngineViewPrivate::accessibilityParentObject()
return q;
}
+namespace {
+class DummySettingsDelegate : public WebEngineSettingsDelegate {
+public:
+ DummySettingsDelegate()
+ : settings(0) {}
+ void apply() { }
+ WebEngineSettings* fallbackSettings() const { return settings; }
+ WebEngineSettings *settings;
+};
+
+}// anonymous namespace
+
+WebEngineSettings *QQuickWebEngineViewPrivate::webEngineSettings() const
+{
+ static WebEngineSettings *dummySettings = 0;
+ if (!dummySettings) {
+ DummySettingsDelegate *dummyDelegate = new DummySettingsDelegate;
+ dummySettings = new WebEngineSettings(dummyDelegate);
+ dummyDelegate->settings = dummySettings;
+ dummySettings->initDefaults();
+ }
+ return dummySettings;
+}
+
void QQuickWebEngineViewPrivate::setDevicePixelRatio(qreal devicePixelRatio)
{
Q_Q(QQuickWebEngineView);
diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h
index 831e91a0b..332d9e280 100644
--- a/src/webengine/api/qquickwebengineview_p_p.h
+++ b/src/webengine/api/qquickwebengineview_p_p.h
@@ -179,6 +179,7 @@ public:
virtual void authenticationRequired(const QUrl&, const QString&, bool, const QString&, QString*, QString*) Q_DECL_OVERRIDE { }
virtual void runMediaAccessPermissionRequest(const QUrl &securityOrigin, MediaRequestFlags requestFlags) Q_DECL_OVERRIDE;
virtual QObject *accessibilityParentObject() Q_DECL_OVERRIDE;
+ virtual WebEngineSettings *webEngineSettings() const Q_DECL_OVERRIDE;
void setDevicePixelRatio(qreal);
void adoptWebContents(WebContentsAdapter *webContents);