Fix FaviconHandler when it has multiple icon URLs and one of them is invalid
This CL prevents FaviconHandler from stopping iteration over a page's icon URLs
if a download for one of the icon URLs previously returned a 404. In particular,
this CL makes FaviconHandler::ScheduleDownload() call the download callback
when FaviconDriver::StartDownload() does not start a download. This is important
because the download callback is responsible for initiating the fetch for the
data for the next favicon candidate.
Sample scenario:
Page HTML snippet:
<link rel="icon" href="www.google.com/nothingtoseehere.png" />
<link rel="icon" href="www.google.com/favicon.ico" />
A previous download for "www.google.com/nothingtoseehere.png" returned a 404
(e.g. the user previously visited a different page which also makes use of
www.google.com/nothingtoseehere.png)
This CL makes FaviconHandler fetch data for "www.google.com/favicon.ico"
despite the download for the first favicon candidate
("www.google.com/nothingtoseehere.png") having previously failed.
BUG=474429
TEST=FaviconHandlerTest.MultipleFavicons404,
FaviconHandlerTest.MultipleFaviconsAll404
Review URL: https://codereview.chromium.org/
1079523005
Cr-Commit-Position: refs/heads/master@{#327339}