This is a patch for Mantis issue 2170.
The bug is that, if you hover over a link in a window and then close
the window with Control-F2, the pointer remains as the link pointer
shape. The fix restores the pointer to the default shape before
destroying the window.
Now we only look for hints that are actually possible for the
given element. This new way of doing things is made possible
by the new LibCSS API for hints.
This also makes use of the LibDOM HTMLElement tag type to avoid
lots of massive if-else-if ladders of dom_string_caseless_isequal
calls.
Collect hints and provide them up front.
Note this implementation is minimal effort, and quite inefficient.
We can be faster about it by walking the element's attributes, and
caching things set on ancestor elements which apply to the current
element. (Mostly table, and body stuff.)
- Make the "Utilities" menu enabled again, since the cookie manager is
there,
- Bigger default size for the cookie manager window, and activate it
when shown,
- Fix the layout of the top bar so the search field is visible, and
make it send the search request to the right place.
We now map from tag name to appropriate specialisation of HTMLElement.
We also build the prototype strings at build time, rather than
using duktape to concatinate them together at run time.
"Allow bitmap fonts" causes NetSurf to use diskfont and graphics library routines for opening and displaying fonts. This allows bitmap fonts to be used which are much faster on 68k hardware than outline fonts, but loses the ability to render pages in UTF-8.
Conversely, toggling this option off makes NetSurf use bullet.library directly and render glyphs itself, which precludes the usage of bitmap fonts but allows the full range of UTF-8 characters to be displayed.
This option is ON by default on OS3 for speed reasons, and OFF by default on OS4. Additionally, this option is not shown on the prefs GUI on OS4 as the speed difference between bitmap and outline fonts is negligible on that hardware and I don't want to encourage the use of an option which provides inferior rendering.
page.gadget is not a public class in OS3
Some gadgets which will not work have been temporarily #ifdef'd for OS4 only
Some gadgets which are not relevant have been disabled to avoid random values being set