Whatever you do, stay away from COMs.
On Mon, Feb 3, 2014 at 3:08 AM, Anthony Caudill <tcaudil...@gmail.com>wrote: > 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 <vi...@netsurf-browser.org > > 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/ >> >> >