So, what software components do I want to discuss next?
1. GtkInfobar - used in place of dialog windows
2. GtkOverlay - for overlaying info ontop of the webpage
3. Granite.OverlayBar - for showing target URLs, etc
4. WebKit embedding
7. The MimeInfo database - for describing what's being downloaded
Then I'd want move onto graphics libraries and kernel features...
@alcinnz if you dive into Cairo... and can make sense of the lifetime of cairo_boxes_t->limits, I'd love to hear about it. I don't understand how it doesn't crash; AFAICT _cairo_boxes_intersect() can call _cairo_boxes_intersect_with_box() with the address of a stack variable, but the returned struct outlives that stack frame‽
@federicomena I'll look into it, eventually.
@alcinnz It may very well be a bug in a code path that is not commonly hit...
Sigh, I want to make all those internals testable. There is *so* *much* to refactor to get to that point.
@alcinnz I'd love to learn more about Mesa. For example, what are the actual APIs it uses to communicate to the kernel drivers / GPUs? What does it do to upload/download buffers/textures from and to a GPU?
@bugaevc I'm glad I've got some interest here!
And honestly I'll be learning all this stuff then too, I really struggled to comprehend it last time.