diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-09-22 20:08:04 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-09-22 20:15:13 +0200 |
commit | 29e75ab2ede9e13321faeec61e1d77f3caa6118c (patch) | |
tree | bafd4479f5a84db963eef0c04e7a5d86627f6691 /src/core/favicon_manager.cpp | |
parent | 98702f186c66a6eedb90b5d4823c53afd8794770 (diff) | |
parent | bb6fffd1ad3168edc9d67492cca585084d8ae6b4 (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
src/core/certificate_error_controller.cpp
src/core/compositor/display_gl_output_surface_qsg.cpp
src/webengine/doc/src/webengine_certificate_error.qdoc
tests/auto/quick/qmltests/data/tst_certificateError.qml
Change-Id: I976958a0833030bfd7c3ed762585eb12031306b0
Diffstat (limited to 'src/core/favicon_manager.cpp')
-rw-r--r-- | src/core/favicon_manager.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/core/favicon_manager.cpp b/src/core/favicon_manager.cpp index a1e133775..3cb417c4f 100644 --- a/src/core/favicon_manager.cpp +++ b/src/core/favicon_manager.cpp @@ -52,6 +52,11 @@ #include "third_party/skia/include/core/SkPixelRef.h" #include "ui/gfx/geometry/size.h" +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +#include <qiconengine.h> +#include <private/qicon_p.h> +#endif + namespace QtWebEngineCore { static inline bool isResourceUrl(const QUrl &url) @@ -331,6 +336,20 @@ QUrl FaviconManager::candidateIconUrl(bool touchIconsEnabled) const return iconUrl; } +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +static QPixmap getUnscaledPixmap(QIcon icon, const QSize &size) +{ + QPixmap pixmap = icon.data_ptr()->engine->pixmap(size, QIcon::Normal, QIcon::Off); + pixmap.setDevicePixelRatio(1.0); + return pixmap; +} +#else +static QPixmap getUnscaledPixmap(const QIcon &icon, const QSize &size) +{ + return icon.pixmap(size, 1.0); +} +#endif + void FaviconManager::generateCandidateIcon(bool touchIconsEnabled) { Q_ASSERT(m_candidateCount); @@ -349,7 +368,7 @@ void FaviconManager::generateCandidateIcon(bool touchIconsEnabled) if (!it->multiSize) { if (!m_candidateIcon.availableSizes().contains(it->size)) - m_candidateIcon.addPixmap(icon.pixmap(it->size)); + m_candidateIcon.addPixmap(getUnscaledPixmap(icon, it->size)); continue; } @@ -357,7 +376,7 @@ void FaviconManager::generateCandidateIcon(bool touchIconsEnabled) const auto sizes = icon.availableSizes(); for (const QSize &size : sizes) { if (!m_candidateIcon.availableSizes().contains(size)) - m_candidateIcon.addPixmap(icon.pixmap(size)); + m_candidateIcon.addPixmap(getUnscaledPixmap(icon, size)); } } } |