I respect you and your contributions to Mozilla and the Web, but you're wrong. These two sentences aren't even logically consistent:
> I'm just saying gecko was not embeddable and was never designed to be so. There has been some efforts, and all failed.
Aside from that, sorry, but I have a huge distaste for the XKCD-style just-make-a-claim-on-the-internet-and-wait-for-someone-to-correct-you strategy of factfinding. It's reckless and annoying.
Anyone who's curious about this subject has more than enough information from this thread alone to turn up the relevant details on their own by now. I'm not going to do any archeology at this point in the discussion, because my patience and the amount of resources I'm willing to put into this topic have by now been exhausted. The only thing I'll say is that the Components.classes[`@mozilla.org/embedding/${...}`] namespace didn't exist for no reason.
Alright, you don't have to engage. I thought maybe I missed something before my time.
For others and historians :) … some efforts were made I think around 2008 (by Brad L. and/or Mark F. … I don't remember so well). A shortlived GTK widget was attempted at some point.
But this lead to nowhere because… well, it's hard to bend Gecko that way, because, again, Gecko was not designed to be embedded. And also because leadership was not pushing into that direction.
About the "not designed that way", what I mean is this:
We had many abstractions for sure to make it multi-platform (and that was amazing achievement, really) but embedding requires mechanisms to hook the event loop and the rendering pipeline into the embedder, in an agnostic way. Which is the part that was missing in Gecko.
Webkit had a proper, well designed, embedding story.
> I'm just saying gecko was not embeddable and was never designed to be so. There has been some efforts, and all failed.
Aside from that, sorry, but I have a huge distaste for the XKCD-style just-make-a-claim-on-the-internet-and-wait-for-someone-to-correct-you strategy of factfinding. It's reckless and annoying.
Anyone who's curious about this subject has more than enough information from this thread alone to turn up the relevant details on their own by now. I'm not going to do any archeology at this point in the discussion, because my patience and the amount of resources I'm willing to put into this topic have by now been exhausted. The only thing I'll say is that the Components.classes[`@mozilla.org/embedding/${...}`] namespace didn't exist for no reason.