no more native code extensions?



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< br>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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]