From 37fcb1517cf41066215a3c552c2021773bb1fd63 Mon Sep 17 00:00:00 2001 From: Pierre Rossi Date: Thu, 15 May 2014 16:46:38 +0200 Subject: 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 --- src/webenginewidgets/api/qwebenginepage.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/webenginewidgets/api/qwebenginepage.cpp') diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 10e3dcda5..851ca8aea 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -30,6 +30,7 @@ #include "qwebengineview_p.h" #include "render_widget_host_view_qt_delegate_widget.h" #include "web_contents_adapter.h" +#include "web_engine_settings.h" #include #include @@ -342,6 +343,30 @@ QObject *QWebEnginePagePrivate::accessibilityParentObject() return view; } +namespace { +class DummySettingsDelegate : public WebEngineSettingsDelegate { +public: + DummySettingsDelegate() + : settings(0) {} + void apply() { } + WebEngineSettings* fallbackSettings() const { return settings; } + WebEngineSettings *settings; +}; + +}// anonymous namespace + +WebEngineSettings *QWebEnginePagePrivate::webEngineSettings() const +{ + static WebEngineSettings *dummySettings = 0; + if (!dummySettings) { + DummySettingsDelegate *dummyDelegate = new DummySettingsDelegate; + dummySettings = new WebEngineSettings(dummyDelegate); + dummyDelegate->settings = dummySettings; + dummySettings->initDefaults(); + } + return dummySettings; +} + void QWebEnginePagePrivate::updateAction(QWebEnginePage::WebAction action) const { #ifdef QT_NO_ACTION -- cgit v1.2.3