Chromium Code Reviews| Index: chrome/browser/task_management/providers/web_contents/renderer_task.cc |
| diff --git a/chrome/browser/task_management/providers/web_contents/renderer_task.cc b/chrome/browser/task_management/providers/web_contents/renderer_task.cc |
| index 371a7cb7b4b95b00749a6dfbd09dc3b7f31bc231..01a51f46bdbe58786aced0bf95486a12222b5c67 100644 |
| --- a/chrome/browser/task_management/providers/web_contents/renderer_task.cc |
| +++ b/chrome/browser/task_management/providers/web_contents/renderer_task.cc |
| @@ -78,9 +78,17 @@ RendererTask::RendererTask(const base::string16& title, |
| // All renderer tasks are capable of reporting network usage, so the default |
| // invalid value of -1 doesn't apply here. |
| OnNetworkBytesRead(0); |
| + |
| + // Tag the web_contents with a |ContentFaviconDriver| (if needed) so that |
| + // we can use it to observe favicons changes. |
| + favicon::CreateContentFaviconDriverForWebContents(web_contents); |
| + favicon::ContentFaviconDriver::FromWebContents(web_contents)->AddObserver( |
| + this); |
| } |
| RendererTask::~RendererTask() { |
| + favicon::ContentFaviconDriver::FromWebContents(web_contents())-> |
| + RemoveObserver(this); |
| } |
| void RendererTask::Activate() { |
| @@ -138,6 +146,17 @@ blink::WebCache::ResourceTypeStats RendererTask::GetWebCacheStats() const { |
| return webcache_stats_; |
| } |
| +void RendererTask::OnFaviconAvailable(const gfx::Image& image) { |
| + // We ignore this event because it means the |image| has been retrieved, but |
| + // not necessarily updated. |
|
pkotwicz
2015/09/11 23:51:33
Can you remove this comment? OnFaviconAvailable()
afakhry
2015/09/12 00:42:21
I removed the comment. But I have to say I don't k
pkotwicz
2015/09/14 14:39:17
It is safe to ignore
apple-touch-icons were added
|
| +} |
| + |
| +void RendererTask::OnFaviconUpdated(favicon::FaviconDriver* favicon_driver, |
| + bool icon_url_changed) { |
| + if (icon_url_changed) |
|
ncarter (slow)
2015/09/11 20:08:45
What does it mean if this is called but |icon_url_
pkotwicz
2015/09/11 23:51:33
You actually want to call UpdateFavicon() even if
afakhry
2015/09/12 00:42:21
Thanks for the clarification. Done!
|
| + UpdateFavicon(); |
| +} |
| + |
| // static |
| base::string16 RendererTask::GetTitleFromWebContents( |
| content::WebContents* web_contents) { |
| @@ -168,9 +187,6 @@ const gfx::ImageSkia* RendererTask::GetFaviconFromWebContents( |
| content::WebContents* web_contents) { |
| DCHECK(web_contents); |
| - // Tag the web_contents with a |ContentFaviconDriver| (if needed) so that |
| - // we can use it to retrieve the favicon if there is one. |
| - favicon::CreateContentFaviconDriverForWebContents(web_contents); |
| gfx::Image image = |
| favicon::ContentFaviconDriver::FromWebContents(web_contents)-> |
| GetFavicon(); |