Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(53)

Side by Side Diff: android_webview/browser/icon_helper.cc

Issue 25878003: [Android WebView] Add an API to control favicon loading. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "android_webview/browser/icon_helper.h" 5 #include "android_webview/browser/icon_helper.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "content/public/browser/browser_thread.h" 10 #include "content/public/browser/browser_thread.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 void IconHelper::DidUpdateFaviconURL(int32 page_id, 53 void IconHelper::DidUpdateFaviconURL(int32 page_id,
54 const std::vector<content::FaviconURL>& candidates) { 54 const std::vector<content::FaviconURL>& candidates) {
55 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 55 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
56 for (std::vector<content::FaviconURL>::const_iterator i = candidates.begin(); 56 for (std::vector<content::FaviconURL>::const_iterator i = candidates.begin();
57 i != candidates.end(); ++i) { 57 i != candidates.end(); ++i) {
58 if (!i->icon_url.is_valid()) 58 if (!i->icon_url.is_valid())
59 continue; 59 continue;
60 60
61 switch(i->icon_type) { 61 switch(i->icon_type) {
62 case content::FaviconURL::FAVICON: 62 case content::FaviconURL::FAVICON:
63 // TODO(acleung): only fetch the URL if favicon downloading is enabled. 63 if (listener_ && !listener_->ShouldDownloadFavicon(i->icon_url)) break;
64 // (currently that is, the app has called WebIconDatabase.open()
65 // but we should decouple that setting via a boolean setting)
66 web_contents()->DownloadImage(i->icon_url, 64 web_contents()->DownloadImage(i->icon_url,
67 true, // Is a favicon 65 true, // Is a favicon
68 0, // No maximum size 66 0, // No maximum size
69 base::Bind( 67 base::Bind(
70 &IconHelper::DownloadFaviconCallback, base::Unretained(this))); 68 &IconHelper::DownloadFaviconCallback, base::Unretained(this)));
71 break; 69 break;
72 case content::FaviconURL::TOUCH_ICON: 70 case content::FaviconURL::TOUCH_ICON:
73 if (listener_) 71 if (listener_)
74 listener_->OnReceivedTouchIconUrl(i->icon_url.spec(), false); 72 listener_->OnReceivedTouchIconUrl(i->icon_url.spec(), false);
75 break; 73 break;
76 case content::FaviconURL::TOUCH_PRECOMPOSED_ICON: 74 case content::FaviconURL::TOUCH_PRECOMPOSED_ICON:
77 if (listener_) 75 if (listener_)
78 listener_->OnReceivedTouchIconUrl(i->icon_url.spec(), true); 76 listener_->OnReceivedTouchIconUrl(i->icon_url.spec(), true);
79 break; 77 break;
80 case content::FaviconURL::INVALID_ICON: 78 case content::FaviconURL::INVALID_ICON:
81 // Silently ignore it. Only trigger a callback on valid icons. 79 // Silently ignore it. Only trigger a callback on valid icons.
82 break; 80 break;
83 default: 81 default:
84 NOTREACHED(); 82 NOTREACHED();
85 break; 83 break;
86 } 84 }
87 } 85 }
88 } 86 }
89 87
90 } // namespace android_webview 88 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/browser/icon_helper.h ('k') | android_webview/java/src/org/chromium/android_webview/AwContents.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698