On Thu, Jun 15, 2017 at 7:11 PM, Brady Eidson <[email protected]> wrote:
Hi all,
The IconDatabase in WebCore is the source of crashes, spins, and
complexity.
Yup. It's very unreliable for GTK. It's the source of
difficult-to-understand memory leaks, difficult-to-reproduce crashes,
and, more commonly, garbled or gibberish icons. I'm guessing a thread
safety issue we haven't been able to figure out.
Starting in on this task, I of course noticed GTK’s API has exposed
“WebKitFaviconDatabase”
Is that something that’s published API and that is used?
If not, I can get rid of it right now
Yes it's published API, and yes we need to keep it working.
If so, then I need a GTK maintainer to come up with a plan soon.
The icon load delegate mechanism is powerful enough to rebuild an
IconDatabase on top of, so if GTK needs to keep this API functional
they can do so - maintaining the actual IconDatabase code themselves
up in their API layer.
I haven't looked at this closely, but I strongly suspect we could
reimplement the WebKitFaviconDatabase API on top of your icon load
delegate mechanism like you suggest. It's probably going to be better
for us in the long run anyway, because our current code is just not
reliable.
On Thu, Jun 15, 2017 at 7:27 PM, Maciej Stachowiak <[email protected]>
wrote:
This is slightly tangential, but a comment on the model: it doesn't
seem like there's a way for clients to check what range of icons are
available and only then choose which to load. Even though Safari may
not have needed this to move over, if you wanted to do something
rigorous like load the closest available size to what you need or
else a scalable format, there's no way to do that without potentially
loading icons you don't need. While Safari hasn't done this, it might
be useful if Safari's various places that display icons are ever made
more consistent and coherent.
Something like this could be useful for Epiphany, where I think we just
want a couple specific icon sizes.
One issue we've noticed is there are many different nonstandard ways
that websites use to find icons. [1] details many of these: the
Microsoft way, the Apple way, the OpenGraph way... and even then the
icons can be put in different places... is this the problem Brady's
code is designed to solve?
Michael
[1] https://ctrl.blog/entry/gnome-web-app-icons
_______________________________________________
webkit-dev mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-dev