diff options
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); |