If you're going to add javascript, you'd might as well implement Spider Monkey and get started. A lot of people will consider jumping to NetSurf from Firefox if it implements Javascript.
On Sun, Feb 2, 2014 at 7:14 PM, Vincent Sanders <[email protected]>wrote: > I have recently put a lot of effort into refactoring the interface > between the core and the front ends (gui) > > This is the first step along the road to making the core of netsurf a > library that the front end toolkits can use as a widget. > > All this is in an effort to make the required implementation for a > front end toolkit much more obvious and to remove many years of > accumulated cruft in the interfaces. It will also mean that in future > adding or altering an interface will mean modifying every front end > will be done in an obvious place. > > When the core requires operations to be performed by the frontend they > are almost all now performed through a single table interface. This > table is passed to the netsurf_init() call every frontend makes. > > The table comprises of a set of structures containing function > pointers. The change has absolutely no performance implications, the > same number of function calls are made and the same parameters are > passed as before. > > Going forward some of these interfaces may be improved especially in > the area of error reporting (many of the operations currently have no > way of indicating an error) > > I would like to ask all front end maintainers to consider their use of > the desktop/gui.h header. Previously it caused a great number of > additional headers, both system and local, to be included. > > The header now has the absolute minimum number of inclusions to ensure > the types for the tables are available and nothing more. > > I have cleaned up a great number of incorrect includes but I would > like to reduce this headers usage to the absolute minimum to make > ongoing cleanups have fewer unexpected side effects. > > It should *only* be used by front ends when using the gui tables, > probably only from the modules actually implementing them. Currently > there are a number of frontend headers which it appears include > desktop/gui.h unnecessarily, these are: > > windows/download.h > windows/gui.h > windows/plot.h > amiga/gui.h > riscos/save.h > beos/scaffolding.h > beos/window.h > > If maintainers could remove any unnecessary includes from these headers > (and indeed anywhere else) it would be very helpful. The documentation > [1] on desktop/gui.h makes the current situation pretty clear. > > There are now only a handful of remaining operations not in the gui > table. The known ones are: > > die() > warn_user() > > Though there appears to be font render operations in an alternate > interface which may warrant being merged. > > If anyone spots any more can they let me know > > > [1] > http://ci.netsurf-browser.org/jenkins/job/docs-netsurf/doxygen/desktop_2gui_8h.html > > -- > Regards Vincent > http://www.kyllikki.org/ > >
