diff options
author | Pierre Rossi <pierre.rossi@digia.com> | 2014-05-15 16:51:50 +0200 |
---|---|---|
committer | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2014-08-12 16:53:18 +0200 |
commit | 955a8d8a05d494f74238565d1a60fa6bd29c4f2b (patch) | |
tree | f8f49f95fe5ac2d80d90cdb4bd84a80bf7bf597b /src/webenginewidgets/api/qwebenginepage.cpp | |
parent | d1ddc17b0fcb9ce809a81ddd71d0bc864b2738c9 (diff) |
Widgets settings implementation
Implementing what is already available, namely the WebAttributes,
font preferences and default text encoding, as well as a
slightly different take on privateBrowsing.
Change-Id: I128f060a4661d19aa1c9c4d6daae1f80fb33204b
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 | 39 |
1 files changed, 15 insertions, 24 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 851ca8aea..71099e547 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -26,6 +26,8 @@ #include "javascript_dialog_controller.h" #include "qwebenginehistory.h" #include "qwebenginehistory_p.h" +#include "qwebenginesettings.h" +#include "qwebenginesettings_p.h" #include "qwebengineview.h" #include "qwebengineview_p.h" #include "render_widget_host_view_qt_delegate_widget.h" @@ -166,6 +168,7 @@ void CallbackDirectory::CallbackSharedDataPointer::doDeref() QWebEnginePagePrivate::QWebEnginePagePrivate() : adapter(new WebContentsAdapter) , history(new QWebEngineHistory(new QWebEngineHistoryPrivate(this))) + , settings(new QWebEngineSettings(new QWebEngineSettingsPrivate(adapter.data()))) , view(0) { memset(actions, 0, sizeof(actions)); @@ -174,6 +177,7 @@ QWebEnginePagePrivate::QWebEnginePagePrivate() QWebEnginePagePrivate::~QWebEnginePagePrivate() { delete history; + delete settings; } RenderWidgetHostViewQtDelegate *QWebEnginePagePrivate::CreateRenderWidgetHostViewQtDelegate(RenderWidgetHostViewQtDelegateClient *client) @@ -343,30 +347,6 @@ 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 @@ -451,6 +431,12 @@ QWebEngineHistory *QWebEnginePage::history() const return d->history; } +QWebEngineSettings *QWebEnginePage::settings() const +{ + Q_D(const QWebEnginePage); + return d->settings; +} + void QWebEnginePage::setView(QWidget *view) { QWebEngineViewPrivate::bind(qobject_cast<QWebEngineView*>(view), this); @@ -779,6 +765,11 @@ void QWebEnginePagePrivate::runFileChooser(WebContentsAdapterClient::FileChooser adapter->filesSelectedInChooser(selectedFileNames, mode); } +WebEngineSettings *QWebEnginePagePrivate::webEngineSettings() const +{ + return settings->d->coreSettings.data(); +} + void QWebEnginePage::load(const QUrl& url) { Q_D(QWebEnginePage); |