summaryrefslogtreecommitdiffstats
path: root/src/core/favicon_manager.cpp
diff options
context:
space:
mode:
authorPeter Varga <pvarga@inf.u-szeged.hu>2016-03-02 09:51:53 +0100
committerPeter Varga <pvarga@inf.u-szeged.hu>2016-03-25 14:12:27 +0000
commitbd3d10a4a892166c79563e0ef37b3065420f99d0 (patch)
treecd2c79bc29e628c87f933fd405f27772f79e034c /src/core/favicon_manager.cpp
parent7a49313c84ccd4779e396b7bc8341a331d90f96f (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.cpp16
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())