Merge pull request #1752 from Wevah/ios-candidate

Fix homePageURLsWithNoFaviconURLCache
This commit is contained in:
Brent Simmons 2020-02-01 16:13:53 -08:00 committed by GitHub
commit d67f04ce4d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 8 deletions

View File

@ -24,6 +24,7 @@ final class FaviconDownloader {
private let diskCache: BinaryDiskCache private let diskCache: BinaryDiskCache
private var singleFaviconDownloaderCache = [String: SingleFaviconDownloader]() // faviconURL: SingleFaviconDownloader private var singleFaviconDownloaderCache = [String: SingleFaviconDownloader]() // faviconURL: SingleFaviconDownloader
private var remainingFaviconURLs = [String: ArraySlice<String>]() // homePageURL: array of faviconURLs that haven't been checked yet private var remainingFaviconURLs = [String: ArraySlice<String>]() // homePageURL: array of faviconURLs that haven't been checked yet
private var currentHomePageHasOnlyFaviconICO = false
private var homePageToFaviconURLCache = [String: String]() //homePageURL: faviconURL private var homePageToFaviconURLCache = [String: String]() //homePageURL: faviconURL
private var homePageToFaviconURLCachePath: String private var homePageToFaviconURLCachePath: String
@ -131,20 +132,14 @@ final class FaviconDownloader {
} }
findFaviconURLs(with: url) { (faviconURLs) in findFaviconURLs(with: url) { (faviconURLs) in
var hasIcons = false
if let faviconURLs = faviconURLs { if let faviconURLs = faviconURLs {
self.currentHomePageHasOnlyFaviconICO = faviconURLs.count == 1
if let firstIconURL = faviconURLs.first { if let firstIconURL = faviconURLs.first {
hasIcons = true
let _ = self.favicon(with: firstIconURL, homePageURL: url) let _ = self.favicon(with: firstIconURL, homePageURL: url)
self.remainingFaviconURLs[url] = faviconURLs.dropFirst() self.remainingFaviconURLs[url] = faviconURLs.dropFirst()
} }
} }
if (!hasIcons) {
self.homePageURLsWithNoFaviconURLCache.insert(url)
self.homePageURLsWithNoFaviconURLCacheDirty = true
}
} }
return nil return nil
@ -167,6 +162,11 @@ final class FaviconDownloader {
remainingFaviconURLs[homePageURL] = faviconURLs.dropFirst(); remainingFaviconURLs[homePageURL] = faviconURLs.dropFirst();
} else { } else {
remainingFaviconURLs[homePageURL] = nil remainingFaviconURLs[homePageURL] = nil
if currentHomePageHasOnlyFaviconICO {
self.homePageURLsWithNoFaviconURLCache.insert(homePageURL)
self.homePageURLsWithNoFaviconURLCacheDirty = true
}
} }
} }
return return