Fvision さんが書きました:
置き換わった後にplaces.sqliteのバックアップを取って、places.sqliteを削除、再起動すると
faviconは全てクリアになっていて、置き換わっていたブックマークにアクセスしてfaviconを再取得するとそのブックマークは正常なfaviconを取得できます。
但し、他のブックマークが置き換わります。
places.sqliteを削除して再起動した時点では、
ブックマークのバックップから、ブックマークフォルダーや、ブックマークとそのURLをとりだし、
moz_bookmarksに、ブックマークフォルダーやブックマークの行をInsertし、
ブックマークの場合には、URIに対してmoz_placesの行をInsertし、そのmoz_placesの行のidを、moz_bookmarksの行内のflkというカラムの値として入れた、
という状態になります。
そして、サイトには一度もアクセスしていないので、moz_placesの各行の、favicon-idのカラムの値は全てヌルになり、
moz_faviconsというTable内には行が何も無い状態になります。
従って、全てのブックマークにおいて、アイコンが無い状態になります。
そして、ブックマークにアクセスすれば、faviconを再取得し、moz_faviconsというTableに入れ、その行のidを、moz_placesの行のfavcon-idというカラムに入れますから、
「そのブックマークは正常なfaviconを表示」の状態になります。
しかし、この時点では、「他のブックマークが置き換わります」という状態にはなり得ないはずです。
既にアクセスして正常なfaviconが表示されたブックマーク・URIと同様に、サイトがfaviconを指定している・持っているならば、それが表示され、
サイトがfaviconを指定していなくてルートのfavicon.icoも無ければ、ルートのfavicon.icoに対して404が返り、何も表示されないはずです。
places.sqliteを削除した時に使われるブックマークのバックアップの状態によっては、iconurlとかmoz_faviconsというTableの行も復元されて、iconデータが無いだけになり、有効期限情報なども復元されて、それで、以前と同様の問題を再現できる?