no more native code extensions?
Adam Dingle <[email protected]>
| Newsgroups | gmane.comp.gnome.apps.epiphany |
|---|---|
| Message-ID | <[email protected]> |
Today, the bug "port extension system to libpeas" was marked as WONTFIX with this explanation by Xan: https://bugzilla.gnome.org/show_bug.cgi?id=646597 === So after talking with people and thinking about this for some time, my current thinking is: - Our current extension model is broken. It's difficult to maintain, exposes way too many implementation details to extensions, is insecure, and makes epiphany more unstable when extensions are loaded. On top of that, it's not very popular, very few extensions have been written. - We should move to something like Mozilla's JetPack or Chrome extensions, were: * Extensions are written in JS/HTML5/CSS * They run in a different process * They can access an extremely limited amount of platform APIs Whether or not we want to be compatible with those remains to be seen, but I think the model in general is the right one. Hopefully once it's done we'll see more and better extensions available for Epiphany. Given this, I think there's no point in moving to libpeas since the fate of this code is to be removed anyway. We should just keep it as it is until we have a replacement and minimize friction and needless changes. I think Diego agrees with this, and so do Claudio and Carlos, so I think there's consensus enough among the people writing most of the code these days. === I have mixed feelings about this. I understand the concerns about security, and writing native code that touches data that arrives from a network always requires caution. But I also think that one of the strengths of GNOME is the promise that I can use the same languages (e.g. Vala, Python) and libraries (e.g. glib) to write extensions for all core applications (Totem, Nautilus, Epiphany and so on). I had been looking forward to a libpeas extension system in Epiphany so that I could write a couple of extensions in Vala. I'm much less enthusiastic about writing extensions in Javascript, personally. Here are some of the extensions I wanted to write: - A bookmark toolbar to replace the functionality which disappeared last December (see https://mail.gnome.org/archives/epiphany-list/2012-January/msg00005.html). I was hoping to insert a GTK toolbar at the top of the browser window. - A form filler which would remember information about me (e.g. full name, address) and use it to automatically fill out forms on the Web. The user would be able to enter this information in a dialog which I was hoping to construct using Glade and possibly attach to the Epiphany Preferences window. Will it be possible to write these two extensions using the new extension model you plan? If so, will I have to code my user information dialog in HTML rather than Glade/GTK? I'm not really enthusiastic about that, but I suppose I'd rather code it in HTML than not be able to implement it at all. adam _______________________________________________ epiphany-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/epiphany-list