When URLs are added, or address entries are edited or deleted,
a hotlist save is scheduled to happen after 10 seconds, if there
isn't already a hotlist save scheduled.
Some features of later versions are used but are either restricted to OS4 only, or runtime version checks select the appropriate routines.
Where the lowest required version cannot be determined, the version provided in the ClassAct 3.3 archive is requested.
Bugs may mean these older classes do not work as expected.
In addition, restrict the opening of listbrowser.gadget and the custom Stringview class to OS4 only.
With this change we are consistent about how the pango layout
we use is created.
Now it always comes from a pango_layout_new() call on a pango context
that comes from gdk_pango_context_get().
Previously the pango layout used for painting came from a call
to pango_cairo_create_layout(), which required a global called
"current_cr" (a cairo drawing context), which is only valid
during redraw (painting). Since it was only valid during
painting, this source could not be used for pango layout
creation for the measuring code.
Although the length is unused when margin is auto, having
uninitialised values present in a computed style means that
the style hashing may give the same style different hashes
depending on the unintitialised info.
The effect of this would have been be to reduce the chance
of computed style sharing. It would have had no effect on
page rendering.
When assert() is called, which is not uncommon in utility code within NetSurf,
we lose coverage data for anything done before the assert() in the test. This
commit corrects that oversight but is at least slightly GCC specific and may
need tweaks for non-Linux platforms.
By default, 'make coverage' will enable assert coverage, and it can be disabled
with 'make coverage NOASSERTCOVERAGE=yes' if necessary.
Signed-off-by: Daniel Silverstone <dsilvers@netsurf-browser.org>