diff options
Diffstat (limited to 'src/webengine/api/qquickwebenginesettings.cpp')
-rw-r--r-- | src/webengine/api/qquickwebenginesettings.cpp | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/src/webengine/api/qquickwebenginesettings.cpp b/src/webengine/api/qquickwebenginesettings.cpp index 743d22d81..e46b1a80d 100644 --- a/src/webengine/api/qquickwebenginesettings.cpp +++ b/src/webengine/api/qquickwebenginesettings.cpp @@ -43,6 +43,20 @@ QT_BEGIN_NAMESPACE Q_GLOBAL_STATIC(QList<QQuickWebEngineSettingsPrivate*>, allSettings) +class QQuickWebEngineGlobalSettings { + QQuickWebEngineSettings globalSettings; +public: + QQuickWebEngineGlobalSettings() { + // globalSettings shouldn't be in that list. + allSettings->removeAll(globalSettings.d_func()); + globalSettings.d_func()->coreSettings->initDefaults(); + } + + QQuickWebEngineSettings *data() { return &globalSettings; } +}; + +Q_GLOBAL_STATIC(QQuickWebEngineGlobalSettings, globalInstance) + QQuickWebEngineSettingsPrivate::QQuickWebEngineSettingsPrivate() : coreSettings(new WebEngineSettings(this)) { @@ -64,16 +78,9 @@ WebEngineSettings *QQuickWebEngineSettingsPrivate::fallbackSettings() const return QQuickWebEngineSettings::globalSettings()->d_func()->coreSettings.data(); } - QQuickWebEngineSettings *QQuickWebEngineSettings::globalSettings() { - static QQuickWebEngineSettings *globals = 0; - if (!globals) { - globals = new QQuickWebEngineSettings; - allSettings->removeAll(globals->d_func()); - globals->d_func()->coreSettings->initDefaults(); - } - return globals; + return globalInstance()->data(); } QQuickWebEngineSettings::~QQuickWebEngineSettings() @@ -161,7 +168,7 @@ void QQuickWebEngineSettings::setAutoLoadImages(bool on) // could be from the fallback and is prone to changing later on. d->coreSettings->setAttribute(WebEngineSettings::AutoLoadImages, on); if (wasOn ^ on) - Q_EMIT autoLoadImagesChanged(on); + Q_EMIT autoLoadImagesChanged(); } void QQuickWebEngineSettings::setJavascriptEnabled(bool on) @@ -170,7 +177,7 @@ void QQuickWebEngineSettings::setJavascriptEnabled(bool on) bool wasOn = d->coreSettings->testAttribute(WebEngineSettings::JavascriptEnabled); d->coreSettings->setAttribute(WebEngineSettings::JavascriptEnabled, on); if (wasOn ^ on) - Q_EMIT javascriptEnabledChanged(on); + Q_EMIT javascriptEnabledChanged(); } void QQuickWebEngineSettings::setJavascriptCanOpenWindows(bool on) @@ -179,7 +186,7 @@ void QQuickWebEngineSettings::setJavascriptCanOpenWindows(bool on) bool wasOn = d->coreSettings->testAttribute(WebEngineSettings::JavascriptCanOpenWindows); d->coreSettings->setAttribute(WebEngineSettings::JavascriptCanOpenWindows, on); if (wasOn ^ on) - Q_EMIT javascriptCanOpenWindowsChanged(on); + Q_EMIT javascriptCanOpenWindowsChanged(); } void QQuickWebEngineSettings::setJavascriptCanAccessClipboard(bool on) @@ -188,7 +195,7 @@ void QQuickWebEngineSettings::setJavascriptCanAccessClipboard(bool on) bool wasOn = d->coreSettings->testAttribute(WebEngineSettings::JavascriptCanAccessClipboard); d->coreSettings->setAttribute(WebEngineSettings::JavascriptCanAccessClipboard, on); if (wasOn ^ on) - Q_EMIT javascriptCanAccessClipboardChanged(on); + Q_EMIT javascriptCanAccessClipboardChanged(); } void QQuickWebEngineSettings::setLinksIncludedInFocusChain(bool on) @@ -197,7 +204,7 @@ void QQuickWebEngineSettings::setLinksIncludedInFocusChain(bool on) bool wasOn = d->coreSettings->testAttribute(WebEngineSettings::LinksIncludedInFocusChain); d->coreSettings->setAttribute(WebEngineSettings::LinksIncludedInFocusChain, on); if (wasOn ^ on) - Q_EMIT linksIncludedInFocusChainChanged(on); + Q_EMIT linksIncludedInFocusChainChanged(); } void QQuickWebEngineSettings::setLocalStorageEnabled(bool on) @@ -206,7 +213,7 @@ void QQuickWebEngineSettings::setLocalStorageEnabled(bool on) bool wasOn = d->coreSettings->testAttribute(WebEngineSettings::LocalStorageEnabled); d->coreSettings->setAttribute(WebEngineSettings::LocalStorageEnabled, on); if (wasOn ^ on) - Q_EMIT localStorageEnabledChanged(on); + Q_EMIT localStorageEnabledChanged(); } void QQuickWebEngineSettings::setLocalContentCanAccessRemoteUrls(bool on) @@ -215,7 +222,7 @@ void QQuickWebEngineSettings::setLocalContentCanAccessRemoteUrls(bool on) bool wasOn = d->coreSettings->testAttribute(WebEngineSettings::LocalContentCanAccessRemoteUrls); d->coreSettings->setAttribute(WebEngineSettings::LocalContentCanAccessRemoteUrls, on); if (wasOn ^ on) - Q_EMIT localContentCanAccessRemoteUrlsChanged(on); + Q_EMIT localContentCanAccessRemoteUrlsChanged(); } @@ -225,7 +232,7 @@ void QQuickWebEngineSettings::setSpatialNavigationEnabled(bool on) bool wasOn = d->coreSettings->testAttribute(WebEngineSettings::SpatialNavigationEnabled); d->coreSettings->setAttribute(WebEngineSettings::SpatialNavigationEnabled, on); if (wasOn ^ on) - Q_EMIT spatialNavigationEnabledChanged(on); + Q_EMIT spatialNavigationEnabledChanged(); } void QQuickWebEngineSettings::setLocalContentCanAccessFileUrls(bool on) @@ -234,7 +241,7 @@ void QQuickWebEngineSettings::setLocalContentCanAccessFileUrls(bool on) bool wasOn = d->coreSettings->testAttribute(WebEngineSettings::LocalContentCanAccessFileUrls); d->coreSettings->setAttribute(WebEngineSettings::LocalContentCanAccessFileUrls, on); if (wasOn ^ on) - Q_EMIT localContentCanAccessFileUrlsChanged(on); + Q_EMIT localContentCanAccessFileUrlsChanged(); } void QQuickWebEngineSettings::setHyperlinkAuditingEnabled(bool on) @@ -243,7 +250,7 @@ void QQuickWebEngineSettings::setHyperlinkAuditingEnabled(bool on) bool wasOn = d->coreSettings->testAttribute(WebEngineSettings::HyperlinkAuditingEnabled); d->coreSettings->setAttribute(WebEngineSettings::HyperlinkAuditingEnabled, on); if (wasOn ^ on) - Q_EMIT hyperlinkAuditingEnabledChanged(on); + Q_EMIT hyperlinkAuditingEnabledChanged(); } void QQuickWebEngineSettings::setErrorPageEnabled(bool on) @@ -252,7 +259,7 @@ void QQuickWebEngineSettings::setErrorPageEnabled(bool on) bool wasOn = d->coreSettings->testAttribute(WebEngineSettings::ErrorPageEnabled); d->coreSettings->setAttribute(WebEngineSettings::ErrorPageEnabled, on); if (wasOn ^ on) - Q_EMIT errorPageEnabledChanged(on); + Q_EMIT errorPageEnabledChanged(); } void QQuickWebEngineSettings::setDefaultTextEncoding(QString encoding) @@ -261,7 +268,7 @@ void QQuickWebEngineSettings::setDefaultTextEncoding(QString encoding) const QString oldDefaultTextEncoding = d->coreSettings->defaultTextEncoding(); d->coreSettings->setDefaultTextEncoding(encoding); if (oldDefaultTextEncoding.compare(encoding)) - Q_EMIT defaultTextEncodingChanged(encoding); + Q_EMIT defaultTextEncodingChanged(); } QQuickWebEngineSettings::QQuickWebEngineSettings() |