This cleans up this header and moves the functionality into more
useful places while reducing the include complexity but only pulling
in whats required.
Update the API which allows frontends to acquire the page features
(images, link urls or form elements) present at the given coordinates
within a browser window.
By making this an explicit browser_window API and using the browser.h
header for the associated data structure with a more appropriate API
naming the usage is much more obvious and contained.
Additionally the link url is now passed around as a nsurl stopping it
being converted from nsurl to text and back again several times.
The die() API for abnormal termination does not belong within the core
of netsurf and instead errors are propogated back to the callers.
This is the final part of this change and the API is now only used within
some parts of the frontends
The netsurf.h header should *only* contain the registration, core
initialisation and finalisation methods. Version information is best
placed in its own header.
Also remove any unneeded inclusion of this header limiting it to
solely the places the relevant API is required.
The netsurf core is driven from numerous operation tables most of
which are now set through a common netsurf_register() interface. The
font and plotting interfaces are currently separate and unlike all the
other operation tables are modified for differing contexts.
This change moves the font operations alongside all the other
operations table and remove unnecessary interaction with the renderers
font internals. Further this also removes the need for css internals
to be visible in frontends.
The core no longer needs to run the event polling loop as fetches are now
scheduler driven. This is part of a series which will ultimately remove
netsurf_poll callback altogether.
The Atari maintainer probably wants to look at moving the ami_quit
handling inside atari_poll() to further reduce overhead.
Since build #1917, URL to path conversion was broken.
Thanks to Peter for reporting the bug.
Most of the path handling code was taken from the windows frontend.
Note:
- NetSurf core switched to an file handling table with default
posix compatible functions.
- The atari frontend always uses GEMDOS compatible
path like: "u:\folder\1", even when running on top of
FreeMiNT environment.