diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-11-02 11:09:26 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-11-02 11:09:26 +0100 |
commit | f51f50c22e770e1ab20ecccc8a32906e4014caed (patch) | |
tree | f1d561ef493a16a4eca9b65b097070b4bf48e939 /src/core/web_engine_settings.cpp | |
parent | c236dd2ac1ac047fa09f6606f4136a275d132d6d (diff) | |
parent | 8618813a60e4f15a104ce5127c01810a35440c30 (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.cpp | 19 |
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 |