IconDatabase::synchronousIconForPageURL() returns 0 for some URLs that don't have custom icons (http/https ones), but instead returns the default icon (at a particular image size) for other URLs that don't have custom icons (anything other than http/https). This inconsistency makes it impossible to use the return value to know whether the page has a custom icon, or to use any client-specific default icon.
In Radar as <rdar://problem/9706277>.
Created attachment 99862 [details]
Patch to return 0 in all cases for which there is no custom icon
Oops, forgot the ChangeLog. Will resubmit.
Created attachment 99864 [details]
Patch to return 0 in all cases where there is no custom icon (now with ChangeLog)
Oops, neglected to add bugzilla URL to ChangeLog. Third time's a charm!
Attachment 99864 [details] did not pass style-queue:
Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCor..." exit_code: 1
Source/WebCore/ChangeLog:1: ChangeLog entry has no bug number [changelog/bugnumber] 
Total errors found: 1 in 2 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 99866 [details]
Patch to always return 0 if there's no custom icon (now with correctly-styled ChangeLog!)
Fixed in http://trac.webkit.org/changeset/90486