diff options
author | mef@chromium.org <mef@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-15 08:37:48 +0000 |
---|---|---|
committer | mef@chromium.org <mef@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-15 08:37:48 +0000 |
commit | 749fadd21aec1956873b3f8de5602874c7a52dc6 (patch) | |
tree | f276b17bab9f9b689ac11fbe78364070bb2c0332 /android_webview | |
parent | 0ee52ae1c62435fcc90d71fda333fd49431b1525 (diff) | |
download | chromium_src-749fadd21aec1956873b3f8de5602874c7a52dc6.zip chromium_src-749fadd21aec1956873b3f8de5602874c7a52dc6.tar.gz chromium_src-749fadd21aec1956873b3f8de5602874c7a52dc6.tar.bz2 |
Don't request missing favicon on every page request.
Mark Favicon as 'Unable to Download' if server returns HTTP status 404 and
don't try to download it again until user closes the browser or clicks 'Shift-Reload'
(RELOAD_IGNORING_CACHE).
Firefox 20 and IE 10 don't request missing favicon.ico on every page request.
Propagated HTTP Status Code from MultiResolutionImageResourceFetcher all
the way up to FaviconTabHelper, which required extension of 3 interfaces.
BUG=39402
TEST=FaviconHandlerTest.UnableToDownloadFavicon
Reviewers:
sky@chromium.org - Overall CL, chrome/browser/*, content/browser/*
palmer@chromium.org - content/common/image_messages.h
joi@chromium.org - content/public/browser/web_contents.h
jamesr@chromium.org - content/renderer/*, webkit/glue/*
mnaganov@chromium.org - android_webview/browser/icon_helper.*
Review URL: https://chromiumcodereview.appspot.com/14322023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200194 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview')
-rw-r--r-- | android_webview/browser/icon_helper.cc | 2 | ||||
-rw-r--r-- | android_webview/browser/icon_helper.h | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/android_webview/browser/icon_helper.cc b/android_webview/browser/icon_helper.cc index 13091f2..7f6c4fb 100644 --- a/android_webview/browser/icon_helper.cc +++ b/android_webview/browser/icon_helper.cc @@ -30,7 +30,7 @@ void IconHelper::SetListener(Listener* listener) { } void IconHelper::DownloadFaviconCallback( - int id, const GURL& image_url, int requested_size, + int id, int http_status_code, const GURL& image_url, int requested_size, const std::vector<SkBitmap>& bitmaps) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); if (bitmaps.size() == 0) { diff --git a/android_webview/browser/icon_helper.h b/android_webview/browser/icon_helper.h index e684cdf..390ac39 100644 --- a/android_webview/browser/icon_helper.h +++ b/android_webview/browser/icon_helper.h @@ -37,8 +37,9 @@ class IconHelper : public content::WebContentsObserver { virtual void DidUpdateFaviconURL(int32 page_id, const std::vector<content::FaviconURL>& candidates) OVERRIDE; - void DownloadFaviconCallback(int id, const GURL& image_url, - int requested_size, const std::vector<SkBitmap>& bitmaps); + void DownloadFaviconCallback(int id, int http_status_code, + const GURL& image_url, int requested_size, + const std::vector<SkBitmap>& bitmaps); private: Listener* listener_; |