Commit Graph

12884 Commits

Author SHA1 Message Date
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
Michael Drake
0e7ebb4ee0 ASCII: Add function for converting two hex chars to value. 2017-03-27 15:37:25 +01:00
Michael Drake
b14aa97a2a ASCII: Add hex char to value conversion function. 2017-03-27 15:35:59 +01:00
Michael Drake
8caae83d35 ASCII: Split out a-f test. 2017-03-27 14:57:56 +01:00
Michael Drake
3ec522429a ASCII: Split out A-F test. 2017-03-27 14:50:36 +01:00
Michael Drake
04d74a79ae Tests: Add some more nsurl cases insensitivity tests. 2017-03-27 14:40:12 +01:00
Michael Drake
1cced51440 Tests: Add tests for file: URL credentials and host handling. 2017-03-27 12:24:37 +01:00
Michael Drake
8e96e9bc27 nsurl: Don't allow credentials or host for file: URLs. 2017-03-27 12:20:33 +01:00
Michael Drake
13a2ac7c08 Tests: Add more file scheme URL parsing tests. 2017-03-27 12:15:11 +01:00
Michael Drake
0e62d45006 Tests: Fix file URL component parsing test to match corrected behaviour. 2017-03-27 12:14:04 +01:00
Michael Drake
372df59f28 nsurl: Set path of "/" for file: URLs with empty path. 2017-03-27 12:11:16 +01:00
Michael Drake
465ad9f0ab nsurl: Add detection of "file:" URL schemes. 2017-03-27 12:09:45 +01:00
Michael Drake
b605270d42 nsurl: Add "file:" entry to enum of known URL schemes. 2017-03-27 12:05:11 +01:00