diff options
author | Pierre Rossi <pierre.rossi@digia.com> | 2014-05-15 16:46:38 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2014-08-09 12:01:37 +0200 |
commit | 37fcb1517cf41066215a3c552c2021773bb1fd63 (patch) | |
tree | 59183ce5ca3c2436cbf299e897c528746adaec75 /src/webenginewidgets/api/qwebenginepage.cpp | |
parent | 3860d79c0b0d1c623746e40b1d0234674535cc90 (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/webenginewidgets/api/qwebenginepage.cpp')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
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 <QAction> #include <QApplication> @@ -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 |