Commit Graph

1157 Commits

Author SHA1 Message Date
Michael Drake
c2ac1a713f Errorcodes: Add SPRITE_ERROR and use it in sprite content handler. 2017-08-30 09:43:13 +01:00
Michael Drake
1670dc33af Sprite content handler: Ensure we broadcast error on librosprite error. 2017-08-29 11:57:34 +01:00
Michael Drake
a9d18a8efd Sprite content handler: Fix leaked rosprite_mem_context on rosprite_load error. 2017-08-29 11:55:46 +01:00
Michael Drake
ba0283f526 RSVG content handler: Remove unused assignement. 2017-08-28 12:16:24 +01:00
Michael Drake
4a014fecde hlcache content callback: Use designated initialiser for hlcache_event. 2017-08-28 11:52:54 +01:00
Michael Drake
e411c84e9b SVG content handler: Convert to using content_broadcast_errorcode(). 2017-08-28 10:24:04 +01:00
Michael Drake
9e64f37846 RSVG content handler: Convert to using content_broadcast_errorcode(). 2017-08-28 10:21:11 +01:00
Michael Drake
cae1c44f8f PNG content handler: Convert to using content_broadcast_errorcode(). 2017-08-28 10:14:22 +01:00
Michael Drake
36c01fc03b Sprite content handler: Convert to using content_broadcast_errorcode(). 2017-08-28 10:06:47 +01:00
Vincent Sanders
cde300133e initialise event struct correctly to avoid compiler warning 2017-08-27 16:01:58 +01:00
Michael Drake
d1a493f569 ICO content handler: Convert to using content_broadcast_errorcode(). 2017-08-27 13:32:53 +01:00
Michael Drake
d83f6ea3c1 GIF content handler: Convert to using content_broadcast_errorcode(). 2017-08-27 13:28:21 +01:00
Michael Drake
337bd98f6c BMP content handler: Convert to using content_broadcast_errorcode(). 2017-08-27 13:28:21 +01:00
Michael Drake
d4cdcf3067 CSS content handler: Convert to using content_broadcast_errorcode(). 2017-08-27 13:09:44 +01:00
Michael Drake
e94fe1632e Content API: Avoid content message copy in content user callback. 2017-08-26 16:38:18 +01:00
Michael Drake
d70beb28db Content API: Make content_broadcast take pointer to content_msg_data. 2017-08-26 15:50:03 +01:00
Vincent Sanders
2467a0a990 fix coverity issue 1372473 Out-of-bounds write 2017-06-09 19:51:12 +01:00
Vincent Sanders
703427a486 Update documentation removing junk and moving to markdown for most text files 2017-06-09 17:30:00 +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
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
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
Vincent Sanders
4e750bdab6 fix doc comment spelling mistake 2017-03-28 11:45:24 +01:00
Michael Drake
0a0e7b5bd7 Duktape: Suppress warnings about increasing alignment of pointer type. 2017-03-23 17:52:28 +00:00
Michael Drake
ae793a3ad9 Duktape: Atari Mint lacks trunc, log2 and cbrt.
build/Linux-atari/content_handlers_javascript_duktape_duktape.o:build/Linux-atari/content_handlers_javascript_duktape_duktape.o:(.text+0x978): undefined reference to `_trunc'

build/Linux-atari/content_handlers_javascript_duktape_duktape.o:build/Linux-atari/content_handlers_javascript_duktape_duktape.o:(.text+0x990): undefined reference to `_log2'

build/Linux-atari/content_handlers_javascript_duktape_duktape.o:build/Linux-atari/content_handlers_javascript_duktape_duktape.o:(.text+0x99c): undefined reference to `_cbrt'
2017-03-23 16:02:48 +00:00
Michael Drake
bc204a469a Duktape: Make declarations match definitions for duk_raw_read_xxx_be
Restore 6d63f7959a for 2.0.2 import.
2017-03-23 15:30:22 +00:00
Michael Drake
c98fc7999a Duktape: Prevent clang static analysis.
Restore 336326af3a for 2.0.2 import.
2017-03-23 14:56:32 +00:00
Michael Drake
5d39972b9f Duktape 2.X: duk_error now returns a duk_ret_t
https://github.com/svaarala/duktape/blob/master/doc/release-notes-v2-0.rst#duk_error-duk_error_va-duk_throw-duk_fatal-have-a-return-value

This also changes Console.bnd to return on error, rather than ignoring it.
2017-03-23 14:56:32 +00:00
Michael Drake
ff8e5c99a0 Duktape 2.x: duk_safe_call callbacks now have a void ptr user data param.
https://github.com/svaarala/duktape/blob/master/doc/release-notes-v2-0.rst#duk_safe_call-userdata
2017-03-23 14:56:32 +00:00
Michael Drake
736bbbed71 Duktape 2.X: Update to Duktape 2.0.2.
Note that DUK_OPT_XXX feature selection has been removed.

This means we can't use `DUK_OPT_HAVE_CUSTOM_H`, so we need another
way to tell duktape about our custom header.

This means assembling our own duktape distribution with a
duktape "tools/configure.py" invocation.

Instructions for updating duktape have been added to NetSurf's
`Docs/` directory.

See:
https://github.com/svaarala/duktape/blob/master/doc/release-notes-v2-0.rst#duk_opt_xxx-feature-option-support-removed
2017-03-23 14:56:32 +00:00
Michael Drake
be77f764e2 Improve content logging with content IDs (pointer values).
This makes it easier to track a content by its ID through a log.
2017-03-23 14:23:57 +00:00
Vincent Sanders
f39d78dc2e mimimal mime sniffing test 2017-03-20 00:48:11 +00:00
Vincent Sanders
0866314d96 reduce hlcache handle api usage in mimesniff 2017-03-19 22:29:23 +00:00
Vincent Sanders
93e2b4855b make mimesniffing use core strings 2017-03-19 15:00:21 +00:00
Vincent Sanders
2406acfeb3 fix urldb numerical v6 address handling 2017-03-13 23:44:06 +00:00
Vincent Sanders
27aa56cbf6 make the urldb content type setting API return an error 2017-03-13 21:55:39 +00:00
Vincent Sanders
92b5f114ba make urldb persistance setting API return an error 2017-03-13 21:19:59 +00:00
Vincent Sanders
5078bffad7 change urldb_set_title API to return an error status 2017-03-13 16:38:24 +00:00
Vincent Sanders
5ebec85282 actually check the generated database files against reference test data 2017-03-08 22:22:54 +00:00
Vincent Sanders
0da0dcc342 remove urldb_add_host and path from public API
The urldb_add_host and urldb_add_path API were only public for the
urldb test code which was calling them incorrectly in any case as the
url bloom filters were not updated so serialising and adding data to
entries was inconsistent.

This also changes the tests to use the urldb_add_url API which is less
buggy and results in a smaller, cleaner urldb API.
2017-03-08 13:27:00 +00:00
Vincent Sanders
b78887c7c8 make update data api return an result 2017-03-08 13:13:21 +00:00
Vincent Sanders
670110b171 use robust handling of time_t value (de)serialisation
The previous implementation was wrong on systems where time_t was not
an int type. This changes urldb to use the portable implementation
netsurf has available.
2017-03-08 10:54:17 +00:00
Vincent Sanders
c41d42644b clean up url database documentation comments and formatting 2017-03-06 23:21:12 +00:00
Vincent Sanders
a88254897b Revert "make urldb internal parse macros less prone to control flow errors"
This reverts commit 718da3ffff.
These macros are used in a way that causes safe macros to break
2017-03-05 15:28:05 +00:00
Vincent Sanders
3217c82cdb attempt to remove unintended sign extension warning in fs backing store 2017-03-05 13:02:47 +00:00
Vincent Sanders
718da3ffff make urldb internal parse macros less prone to control flow errors
fixes issue highlighted by coverity (CID 1361696)
2017-03-05 12:11:48 +00:00
Vincent Sanders
d9a2c7b9c1 fix some doxygen errors 2017-02-24 14:02:31 +00:00
Vincent Sanders
07c8ea22a5 fix unused variable warning on non public suffix library builds 2017-02-23 23:33:39 +00:00
Vincent Sanders
0f69965805 clean up some of the doxygen generation warnings 2017-02-19 11:32:17 +00:00
Vincent Sanders
7d660561cc Update knockout plotter to use new API 2017-02-11 13:57:06 +00:00
Vincent Sanders
3722ff8d86 Update all core use of plotters to new API 2017-02-11 13:55:41 +00:00
Daniel Silverstone
8e9751d3b6 Add EventTarget binding
This adds the binding for EventTarget along with implementations for
addEventListener() removeEventListener() and dispatchEvent()
2017-02-05 12:39:46 +00:00
Daniel Silverstone
2858aec1c2 Add EventListener support to duktape binding.
This paves the way for EventTarget and its associated event listener support.
In particular it ensures the generic event handling we do supports the
semantics of the addEventListener() and removeEventListener() managed lists of
callbacks.
2017-02-05 12:05:04 +00:00
Daniel Silverstone
108cc0cebd Support fixed nsgenbind bindings 2017-02-05 11:20:08 +00:00
Vincent Sanders
1f52b2d514 remove unused fetch acessor 2017-01-31 22:56:45 +00:00
Vincent Sanders
e96bf01339 make backing store use inttypes format specifiers 2017-01-21 16:48:41 +00:00
Vincent Sanders
6075feb487 create netsurf inttypes header to have portable integer formatting macros 2017-01-21 14:20:55 +00:00
Vincent Sanders
70d700b26c rationalise use of utils/utils.h header 2017-01-19 21:15:08 +00:00
Vincent Sanders
7dab7cb43d move plot style header to netsurf include directory
move plotter style header and adjust all callers to use only what they
actually require.
2017-01-13 10:03:24 +00:00
Vincent Sanders
9be0f4ccaf fixup usage of directory creation macro in Makefiles 2017-01-07 13:21:25 +00:00
Michael Drake
770c277ccc Duktape: Prevent clang static analysis.
Restore 336326af3a for 1.6.0 import.
2016-12-28 15:06:08 +00:00
Michael Drake
539d5da5c4 Duktape: Make declarations match definitions for duk_raw_read_xxx_be
Restore 6d63f7959a for 1.6.0 import.
2016-12-28 15:04:08 +00:00
Michael Drake
7c03ae91fd Duktape: Update to version 1.6.0. 2016-12-28 15:01:03 +00:00
Vincent Sanders
af1f1f375d make nsgenbind call last in rule so faliures are noticed by make 2016-11-24 23:45:49 +00:00
Vincent Sanders
3f88c12315 Fix OpenSSL X509 cert API detection
LibreSSL defines a OPENSSL_VERSION_NUMBER of 2.1 but only provides the
old OpenSSL 1.0.x API.
2016-11-21 18:29:23 +00:00
Vincent Sanders
bcce8cc7b4 fix spelling of retrived 2016-11-21 00:07:13 +00:00
Vincent Sanders
f679a9b1d6 fix spelling and doxygen comments in image cache 2016-11-21 00:07:12 +00:00
Vincent Sanders
b3042f6c1f fix spelling in low level cache code 2016-11-20 15:38:14 +00:00
Vincent Sanders
9ff13d64c4 fix spelling mistakes in hlcache code 2016-11-20 15:25:33 +00:00
Vincent Sanders
8828bdc702 fix comedy spelling in fs backing store code 2016-11-20 15:22:04 +00:00
Vincent Sanders
e8a9e37445 fix openSSL 1.1.0 X509 certificate handling 2016-11-20 12:15:31 +00:00
Vincent Sanders
61a00c3832 fix unecessary base64 header include 2016-11-19 17:11:23 +00:00
Michael Drake
b3d98a4d7d Work in Progress: Update for style-sharing LibCSS API. 2016-11-19 14:46:44 +00:00
Daniel Silverstone
1fb06929d9 Remove internal BASE64 in favour of nsutils' one 2016-11-19 14:40:10 +00:00
Michael Drake
b42d253f86 Table cell nowrap attribute is presentational hint, not UA style. 2016-10-13 12:44:27 +01:00
Vincent Sanders
1ef1edc9e0 enable use of netsurf public suffix library to prevent supercookies 2016-09-20 21:45:35 +01:00
Vincent Sanders
e582497322 if the cookie is a session cookie indicate it
previously session cookies were simply displayed as having an expiry
in 1970 which was unhelpful.
2016-09-13 23:17:28 +01:00
Vincent Sanders
a91c7cdf04 make urldb parsing of ascii data explicit 2016-09-10 23:05:24 +01:00
Vincent Sanders
fa1af79e7c document file fetcher being locale dependant 2016-09-10 23:05:24 +01:00
Michael Drake
91d6215215 Duktape: Prevent clang static analysis.
Restore 336326af3a for 1.5.1 import.
2016-08-31 18:58:13 +01:00
Michael Drake
a64f8eb8a0 Duktape: Make declarations match definitions for duk_raw_read_xxx_be
Restore 6d63f7959a for 1.5.1 import.
2016-08-31 18:58:13 +01:00
Michael Drake
9800c5f298 Duktape: Update to version 1.5.1.
Version 1.5.1 includes some of our own fixes, reducing our delta
to upstream.

These should not be needed now:

    - 2cbb337756
      Squash harmless Clang warning introduced in Duktape 1.5.0.
    - 8f8cda2b48
      Fix Duktape on AmigaOS3 (thanks to Tygre and Sami)
2016-08-31 18:54:35 +01:00
Chris Young
8f8cda2b48 Fix Duktape on AmigaOS3 (thanks to Tygre and Sami) 2016-08-27 18:51:17 +01:00
Sergei Rogachev
a815ad6250 Fix longjmp to invalid address on jpeg init error
Libjpeg used in NetSurf for decoding of JPEG images handles exceptions using a
pair of non-local jump functions: setjmp() and longjmp(). When a decompression
context is created via a call to the function jpeg_create_decompress() the
caller passes a structure jpeg_decompress_struct as a parameter. This structure
should has a validly initialized jump buffer, so the initialization or other
functions called in future can jump to the exception handling context.

The jpeg backend of NetSurf now initializes libjpeg mistakenly: jump buffer is
filled after the call to jpeg_create_decompress(). It results in jump to random
addresses in the case of exception caught during operation of the function
jpeg_create_decompress().

The patch moves the initialization of jump buffer before the call to
jpeg_create_decompress().

Signed-off-by: Sergei Rogachev <rogachevsergei@gmail.com>
2016-08-14 22:37:12 +01:00
Vincent Sanders
59b108498a fix bitmap modification callback calling for bmp image handler
bitmap file decoding is done at first call to redraw but was not
calling the modified callback at the correct time immediately after
decode so frontend image chnages were not being done. This caused
nsgtk to fail to apply its colour space fixups so red was swapped with
blue.
2016-08-14 22:26:37 +01:00
Michael Drake
fe00eac8cb Buildsystem: Make curl/openssl usage build-time options. 2016-08-13 13:31:07 +01:00
Vincent Sanders
9176d3233f ensure url database destructor cleans up correctly 2016-08-09 13:15:02 +01:00
Vincent Sanders
115985f069 extend url database unit testing to cover more API 2016-08-09 12:26:37 +01:00
Vincent Sanders
c1aec1cfa0 fix urldb warning and test build 2016-08-08 13:52:54 +01:00
Vincent Sanders
05d2b9a92c update urldb dump to use LOG rather than writing to stderr directly 2016-08-08 13:44:18 +01:00
Vincent Sanders
b939afe3fc Allow certificate verification user prompt creation to return errors 2016-07-31 13:25:20 +01:00
Michael Drake
fa2e3b7784 URL unescape: return the new length to the caller.
The avoids situations were we threw away the length, only for
the caller to have to strlen the returned string.

Note, there seems to be a case of the amiga front end writing
beyond end of allocation.  Added a TODO for now.
2016-07-24 14:03:16 +01:00
Michael Drake
7202ff2f64 Data URL handling: Use url_unescape rather than curl. 2016-07-24 12:23:42 +01:00
Michael Drake
f9870c41f5 Whitespace: Convert spaces to tab for indent. 2016-07-24 12:07:31 +01:00
Daniel Silverstone
c523bb47a0 Actually use utils/inet.h instead of sys/select.h 2016-06-27 21:58:09 +01:00
Daniel Silverstone
be1ff548cb fetch.h needs sys/select.h for the fd_set type et al. 2016-06-27 21:50:54 +01:00