Index: chrome/browser/favicon/favicon_handler.cc |
diff --git a/chrome/browser/favicon/favicon_handler.cc b/chrome/browser/favicon/favicon_handler.cc |
index a1bbe173e233fe2a84ef2239ba01678f1c2f9afc..1eb5889de146a12ca7f095488af64c706d27a6f8 100644 |
--- a/chrome/browser/favicon/favicon_handler.cc |
+++ b/chrome/browser/favicon/favicon_handler.cc |
@@ -384,8 +384,13 @@ void FaviconHandler::OnDidDownloadFavicon( |
return; |
} |
+ DownloadRequest download_request = i->second; |
pkotwicz
2015/02/19 21:29:57
I switched to erasing |download_requests_| immedia
|
+ download_requests_.erase(i); |
+ |
if (current_candidate() && |
- DoUrlAndIconMatch(*current_candidate(), image_url, i->second.icon_type)) { |
+ DoUrlAndIconMatch(*current_candidate(), |
+ image_url, |
+ download_request.icon_type)) { |
bool request_next_icon = true; |
float score = 0.0f; |
gfx::ImageSkia image_skia; |
@@ -415,7 +420,8 @@ void FaviconHandler::OnDidDownloadFavicon( |
// during the downloading. |
if (!bitmaps.empty()) { |
request_next_icon = !UpdateFaviconCandidate( |
- i->second.url, image_url, image, score, i->second.icon_type); |
+ download_request.url, image_url, image, score, |
+ download_request.icon_type); |
} |
} |
if (request_next_icon && !PageChangedSinceFaviconWasRequested() && |
@@ -432,10 +438,10 @@ void FaviconHandler::OnDidDownloadFavicon( |
best_favicon_candidate_.icon_type); |
// Reset candidate. |
image_urls_.clear(); |
+ download_requests_.clear(); |
best_favicon_candidate_ = FaviconCandidate(); |
} |
} |
- download_requests_.erase(i); |
} |
bool FaviconHandler::PageChangedSinceFaviconWasRequested() { |