summaryrefslogtreecommitdiffstats
path: root/src/webengine/api/qquickwebenginesettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/webengine/api/qquickwebenginesettings.cpp')
-rw-r--r--src/webengine/api/qquickwebenginesettings.cpp47
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()