summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/api/qwebenginepage.cpp
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/webenginewidgets/api/qwebenginepage.cpp
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/webenginewidgets/api/qwebenginepage.cpp')
-rw-r--r--src/webenginewidgets/api/qwebenginepage.cpp25
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