title: Reliably getting favicons in Chrome extensions, chrome://favicon?
body: <p>I'm using the <code>chrome://favicon/</code> in my <a href="https://chrome.google.com/webstore/detail/pnjaodmkngahhkoihejjehlcdlnohgmp">Google Chrome extension</a> to get the favicon for RSS feeds. What I do is get the base path of linked page, and append it to <code>chrome://favicon/http://&lt;domainpath&gt;</code>.</p>
  
  <p>It's working really unreliably. A lot of the time it's reporting the standard "no-favicon"-icon, even when the page really has a favicon. There is almost 0 documentation regarding the <code>chrome://favicon</code> mechanism, so it's difficult to understand how it actually works. Is it just a cache of links that have been visited? Is it possible to detect if there was an icon or not?</p>
  
  <p>From some simple testing it's just a cache of favicons for pages you have visited. So if I subscribe to dribbble.com's RSS feed, it won't show a favicon in my extension. Then if I visit <code>chrome://favicon/http://dribbble.com/</code> it won't return right icon. Then I open dribbble.com in another tab, it shows its icon in the tab, then when I reload the <code>chrome://favicon/http://dribbble.com/</code>-tab, it will return the correct favicon. Then I open my extensions popup and it still shows the standard icon. But if I then restart Chrome it will get the correct icon everywhere.</p>
  
  <p>Now that's just from some basic research, and doesn't get me any closer to a solution. So my question is: Is the <code>chrome://favicon/</code> a correct use-case for what I'm doing. Is there any documentation for it? And what is this its intended behavior?</p>