diff options
author | Peter Varga <pvarga@inf.u-szeged.hu> | 2016-03-02 09:51:53 +0100 |
---|---|---|
committer | Peter Varga <pvarga@inf.u-szeged.hu> | 2016-03-25 14:12:27 +0000 |
commit | bd3d10a4a892166c79563e0ef37b3065420f99d0 (patch) | |
tree | cd2c79bc29e628c87f933fd405f27772f79e034c /src/core/favicon_manager.cpp | |
parent | 7a49313c84ccd4779e396b7bc8341a331d90f96f (diff) |
Add settings for FaviconManager's icon download modes
Change-Id: I8e4b11089de29623ed39ec6b13fe30be734baa3e
Task-number: QTBUG-51179
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Diffstat (limited to 'src/core/favicon_manager.cpp')
-rw-r--r-- | src/core/favicon_manager.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/core/favicon_manager.cpp b/src/core/favicon_manager.cpp index 8469f054e..16a087efc 100644 --- a/src/core/favicon_manager.cpp +++ b/src/core/favicon_manager.cpp @@ -42,6 +42,7 @@ #include "type_conversion.h" #include "web_contents_adapter_client.h" +#include "web_engine_settings.h" #include "base/bind.h" #include "content/public/browser/favicon_status.h" @@ -176,12 +177,15 @@ void FaviconManagerPrivate::propagateIcon() const { Q_Q(const FaviconManager); + WebEngineSettings *settings = m_viewClient->webEngineSettings(); + bool touchIconsEnabled = settings->testAttribute(WebEngineSettings::TouchIconsEnabled); + QUrl iconUrl; const QList<FaviconInfo> &faviconInfoList = q->getFaviconInfoList(true /* candidates only */); unsigned bestArea = 0; for (auto it = faviconInfoList.cbegin(), end = faviconInfoList.cend(); it != end; ++it) { - if (it->type != FaviconInfo::Favicon) + if (!touchIconsEnabled && it->type != FaviconInfo::Favicon) continue; if (it->isValid() && bestArea < area(it->size)) { @@ -244,9 +248,17 @@ void FaviconManager::update(const QList<FaviconInfo> &candidates) Q_D(FaviconManager); updateCandidates(candidates); + WebEngineSettings *settings = d->m_viewClient->webEngineSettings(); + if (!settings->testAttribute(WebEngineSettings::AutoLoadIconsForPage)) { + d->m_viewClient->iconChanged(QUrl()); + return; + } + + bool touchIconsEnabled = settings->testAttribute(WebEngineSettings::TouchIconsEnabled); + const QList<FaviconInfo> &faviconInfoList = getFaviconInfoList(true /* candidates only */); for (auto it = faviconInfoList.cbegin(), end = faviconInfoList.cend(); it != end; ++it) { - if (it->type != FaviconInfo::Favicon) + if (!touchIconsEnabled && it->type != FaviconInfo::Favicon) continue; if (it->isValid()) |