Commit Graph

13046 Commits

Author SHA1 Message Date
Michael Drake
7bbf2a9ca0 HTML layout: Extend :after pseudo element handling to cover display:table.
This is used in a common clearfix variant.

    http://nicolasgallagher.com/micro-clearfix-hack/
2017-04-26 16:39:11 +01:00
Michael Drake
ebcc27c330 Box tree dump: If box has element, include element name in dump. 2017-04-26 15:20:31 +01:00
Michael Drake
4b76d2096d GTK: Optimise tiled bitmap plotting, and scaled bitmap rendering.
We now let Cairo deal with the tiling.  Also we don't keep cached
scaled bitmaps any more.  The speedup for small bitmap tile sizes
is huge.
2017-04-26 12:38:04 +01:00
Vincent Sanders
796bb0f652 update framebuffer frontend to remove reformat API 2017-04-26 10:05:57 +01:00
Vincent Sanders
5467d5e157 update beos frontend to remove reformat API 2017-04-26 10:04:43 +01:00
Vincent Sanders
3c264d63e6 update atari frontend to remove reformat API 2017-04-26 10:03:29 +01:00
Vincent Sanders
52ee93597a update monkey frontend to remove reformat API 2017-04-26 10:02:24 +01:00
Vincent Sanders
be7aef9231 update riscos frontend to remove reformat API 2017-04-26 10:00:51 +01:00
Vincent Sanders
1e197432f8 update amiga frontend to remove reformat API 2017-04-26 09:59:08 +01:00
Vincent Sanders
3e24dc831b update windows frontend to remove reformat 2017-04-26 09:55:36 +01:00
Vincent Sanders
413ee474d2 update cocoa frontend with reformat API change 2017-04-26 09:52:39 +01:00
Vincent Sanders
72bd28d16e update GTK frontend for reformat API change 2017-04-26 09:47:55 +01:00
Vincent Sanders
bd932d958b remove reformat from browser window operation table
the reformat callback was completely unecessary and implementations
appeared potentialy buggy. This rationalises the API and reduces the
number of operations a frontend must provide.
2017-04-26 09:43:18 +01:00
Michael Drake
31d98a1d2e Core hotlist: Ensure any hotlist save callback is removed on hotlist_fini. 2017-04-25 15:14:56 +01:00
Michael Drake
479c3fd0b5 Hotlist: Save hotlist modifications.
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.
2017-04-25 13:09:44 +01:00
Michael Drake
e227b3d29c Windows: Update for core hotlist API change. 2017-04-25 12:16:33 +01:00
Michael Drake
0d8ed168b2 RISC OS: Update for core hotlist API change. 2017-04-25 12:13:07 +01:00
Michael Drake
a137de40a9 GTK: Update for core hotlist API change. 2017-04-25 12:08:32 +01:00
Michael Drake
c359bd9774 Cocoa: Update for core hotlist API change. 2017-04-25 12:06:09 +01:00
Michael Drake
229f6b5f23 Atari: Update for core hotlist API change. 2017-04-25 12:03:29 +01:00
Michael Drake
a44a0875a7 Amiga: Update for core hotlist API change. 2017-04-25 11:57:46 +01:00
Michael Drake
c47b9f465c Core hotlist API: Take save path at init, rather than fini. 2017-04-25 11:52:47 +01:00
Vincent Sanders
ab53f74788 Merge branch 'vince/invalidate-api' 2017-04-23 21:03:32 +01:00
Vincent Sanders
6e0f5bee55 Update beos frontend to use invalidate window area API 2017-04-23 20:59:50 +01:00
Vincent Sanders
becd3863c4 Update framebuffer frontend to use invalidate window area API 2017-04-23 20:42:37 +01:00
Vincent Sanders
6177e2930b Update monkey frontend to use invalidate window area API 2017-04-23 20:42:37 +01:00
Vincent Sanders
b61c21c7d0 Update windows frontend to use invalidate window area API 2017-04-23 12:05:30 +01:00
Vincent Sanders
d930da3899 update gtk frontend with invalidate window API change 2017-04-23 12:05:30 +01:00
Vincent Sanders
b102950650 update atari frontend for invalidate window API change 2017-04-23 12:05:30 +01:00
Michael Drake
ff20edbfbe Duktape: Make declarations match definitions for fastint-enabled functions. 2017-04-21 11:33:28 +01:00
Michael Drake
6da983ca27 Duktape: Enable fastints.
Suggested by svaarala.
2017-04-20 12:12:29 +01:00
Vincent Sanders
6833f526f6 update amiga frontend invalidate window API change 2017-04-19 16:32:21 +01:00
Vincent Sanders
febbdec345 update riscos frontend to invalidate window API 2017-04-19 16:27:14 +01:00
Vincent Sanders
14bff8d023 replace redraw and update methods with invalidate in window table API 2017-04-19 16:23:08 +01:00
Chris Young
7e0ed132f7 Adjust the requested class versions to be the minimum required.
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.
2017-04-16 17:49:27 +01:00
Michael Drake
9a8577fead Duktape: Make declaration match definition for duk_refzero_check_fast() 2017-04-16 17:36:25 +01:00
Michael Drake
40e589531e Duktape: Make declarations match definitions for duk_raw_read_xxx_be
Restore 6d63f7959a for 2.1.0 import.
2017-04-16 16:58:57 +01:00
Michael Drake
8449b13a3a Duktape: Prevent clang static analysis.
Restore 336326af3a for 2.1.0 import.
2017-04-16 16:58:35 +01:00
Michael Drake
db9b0dfe00 Duktape: Update to 2.1.0 release. 2017-04-16 16:57:01 +01:00
Michael Drake
2c8a47b7d4 GTK: Slight optimisation to nsfont_split().
When we aren't modifying the line, pango_layout_get_line_readonly()
is a faster alternative to pango_layout_get_line().
2017-04-11 16:32:03 +01:00
Michael Drake
90100bbd45 GTK: Font rendering: Use same pango layout for painting as for measuring.
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.
2017-04-11 16:13:13 +01:00
Michael Drake
5d5081eb57 CSS: Handle presentational hint for HR's "width" attribute. 2017-04-10 09:33:09 +01:00
Michael Drake
abdab90859 Presentational hints: Ensure length is initialised for auto margins.
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.
2017-04-06 17:14:58 +01:00
Daniel Silverstone
e499f5c08f Support coverage flushing on assert()
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>
2017-03-31 18:53:52 +01:00
Vincent Sanders
4e750bdab6 fix doc comment spelling mistake 2017-03-28 11:45:24 +01:00
Michael Drake
7338f3ce88 nsurl: Remove redundant code path. 2017-03-27 18:09:29 +01:00
Michael Drake
f90559d2db Tests: Increase nsurl coverage. 2017-03-27 17:55:48 +01:00
Michael Drake
775687a79b Tests: Add nsurl insensitivity test for HTTPS scheme. 2017-03-27 16:01:47 +01:00
Michael Drake
b024c0bcb5 Tests: Add nsurl tests for unnecessary and bad escape values. 2017-03-27 15:41:24 +01:00
Michael Drake
8b4df800be nsurl: Use ascii header for hex to value conversion. 2017-03-27 15:40:08 +01:00