summaryrefslogtreecommitdiffstats
path: root/src/core/web_engine_settings.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-11-02 11:09:26 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-11-02 11:09:26 +0100
commitf51f50c22e770e1ab20ecccc8a32906e4014caed (patch)
treef1d561ef493a16a4eca9b65b097070b4bf48e939 /src/core/web_engine_settings.cpp
parentc236dd2ac1ac047fa09f6606f4136a275d132d6d (diff)
parent8618813a60e4f15a104ce5127c01810a35440c30 (diff)
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts: .qmake.conf tests/auto/quick/dialogs/tst_dialogs.cpp Change-Id: I6840495a40e4e1e4512573c980816112ae5786d7
Diffstat (limited to 'src/core/web_engine_settings.cpp')
-rw-r--r--src/core/web_engine_settings.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/core/web_engine_settings.cpp b/src/core/web_engine_settings.cpp
index 93c822f2f..693c6f6fb 100644
--- a/src/core/web_engine_settings.cpp
+++ b/src/core/web_engine_settings.cpp
@@ -112,9 +112,8 @@ WebEngineSettings::~WebEngineSettings()
if (parentSettings)
parentSettings->childSettings.remove(this);
// In QML the profile and its settings may be garbage collected before the page and its settings.
- for (WebEngineSettings *settings : qAsConst(childSettings)) {
- settings->parentSettings = 0;
- }
+ for (WebEngineSettings *settings : qAsConst(childSettings))
+ settings->parentSettings = nullptr;
}
void WebEngineSettings::overrideWebPreferences(content::WebContents *webContents, content::WebPreferences *prefs)
@@ -141,11 +140,15 @@ void WebEngineSettings::setAttribute(QWebEngineSettings::WebAttribute attr, bool
bool WebEngineSettings::testAttribute(QWebEngineSettings::WebAttribute attr) const
{
- if (!parentSettings) {
- Q_ASSERT(s_defaultAttributes.contains(attr));
- return m_attributes.value(attr, s_defaultAttributes.value(attr));
- }
- return m_attributes.value(attr, parentSettings->testAttribute(attr));
+ auto it = m_attributes.constFind(attr);
+ if (it != m_attributes.constEnd())
+ return *it;
+
+ if (parentSettings)
+ return parentSettings->testAttribute(attr);
+
+ Q_ASSERT(s_defaultAttributes.contains(attr));
+ return s_defaultAttributes.value(attr);
}
bool WebEngineSettings::isAttributeExplicitlySet(QWebEngineSettings::WebAttribute attr) const