Commit Graph

1230 Commits

Author SHA1 Message Date
Vincent Sanders
92424b6946 refactor llcache header processing
refactor the header processing in the low level object cache to make
 cache control header processing more explicit.
2018-08-12 12:50:57 +01:00
Michael Drake
0601b7dbec Duktape: Make declaration match definition for memcmp and double_div. 2018-08-10 12:30:48 +01:00
Michael Drake
80e8c74a69 Duktape: Make declaration match definition for duk_refzero_check_fast() 2018-08-10 11:30:17 +01:00
Michael Drake
ad0a75af8f Duktape: Make declarations match definitions for fastint-enabled functions. 2018-08-10 11:29:39 +01:00
Michael Drake
e5f2ea9d7a Duktape: Make declarations match definitions for duk_raw_read_xxx_be 2018-08-10 11:28:27 +01:00
Michael Drake
c986c212bf Duktape: Make declarations match definitions for inline functions. 2018-08-10 11:27:56 +01:00
Michael Drake
f5f2ebb37a Duktape: Prevent clang static analysis. 2018-08-10 11:12:20 +01:00
Michael Drake
ae126cfdd5 Duktape: Update to version 2.3.0 release. 2018-08-10 11:11:08 +01:00
Michael Drake
97f9e2d9f5 Curl fetcher: Jiggle logging levels. 2018-08-09 16:43:37 +01:00
Michael Drake
9fecbc6554 Content: Log URLs with nsurl_access_log().
This reduces the log file size for startup and a single visit
to https://www.bbc.co.uk/news from 266133 to 178777 bytes,
by not dumping big data URLs over and over into the log.
2018-08-09 16:31:16 +01:00
Michael Drake
ca0514ea92 Curl fetcher: Move poll logging from INFO to DEEPDEBUG. 2018-08-09 14:58:49 +01:00
Michael Drake
09b015bf11 Browser: Rename function to access bw URL. 2018-07-23 10:47:26 +01:00
Michael Drake
62e3ee6c7e Layout: Use box helper for first child checks. 2018-06-29 15:03:47 +01:00
Michael Drake
049695fa07 Box: Add helper to check if box is first child. 2018-06-29 15:03:10 +01:00
Michael Drake
948207472a Layout: Tidy condition so it can be read. 2018-06-29 14:58:32 +01:00
Michael Drake
8a931f01b9 Plotters: Expose array of font family strings to front ends. 2018-05-23 14:02:53 +01:00
Michael Drake
8332bf6b2a Plotters: Remove width param from path plotter.
We now use the stroke_width in the plot_style.
2018-05-23 13:48:17 +01:00
Michael Drake
66493421e6 Plotters: Change stroke width in the plot_style_t to fixed point. 2018-05-23 13:04:19 +01:00
Michael Drake
a58d97a41a Plotters: Add plot_style_fixed type, and use for font size. 2018-05-23 11:48:35 +01:00
Vincent Sanders
216fb88f58 clean up html content handler header use
Improve header use in preperation for making browser window a corewindow
2018-05-11 13:18:54 +01:00
Vincent Sanders
2a03ea3049 move html and text content handlers where they belong 2018-05-10 13:37:02 +01:00
Michael Drake
2290c208ba Disc cache: Squash armhf warnings. 2018-05-08 12:26:04 +01:00
Michael Drake
6e0e3ea81f Duktape: Squash armhf warnings.
content/handlers/javascript/duktape/duktape.c: In function 'duk_resolve_nonbound_function':
content/handlers/javascript/duktape/duktape.c:14609:25: warning: cast increases required alignment of target type [-Wcast-align]
    duk_push_tval(thr, &((duk_hboundfunc *) h)->target);
                         ^
content/handlers/javascript/duktape/duktape.c: In function 'duk_bi_function_prototype_bind':
content/handlers/javascript/duktape/duktape.c:32423:20: warning: cast increases required alignment of target type [-Wcast-align]
    h_boundtarget = (duk_hboundfunc *) h_target;
                    ^
content/handlers/javascript/duktape/duktape.c: In function 'duk_free_hobject':
content/handlers/javascript/duktape/duktape.c:46072:23: warning: cast increases required alignment of target type [-Wcast-align]
   duk_hboundfunc *f = (duk_hboundfunc *) h;
                       ^
content/handlers/javascript/duktape/duktape.c: In function 'duk__mark_hobject':
content/handlers/javascript/duktape/duktape.c:47889:23: warning: cast increases required alignment of target type [-Wcast-align]
   duk_hboundfunc *f = (duk_hboundfunc *) h;
                       ^
content/handlers/javascript/duktape/duktape.c: In function 'duk_hobject_refcount_finalize_norz':
content/handlers/javascript/duktape/duktape.c:49866:23: warning: cast increases required alignment of target type [-Wcast-align]
   duk_hboundfunc *f = (duk_hboundfunc *) h;
                       ^
content/handlers/javascript/duktape/duktape.c: In function 'duk__handle_bound_chain_for_call':
content/handlers/javascript/duktape/duktape.c:61533:14: warning: cast increases required alignment of target type [-Wcast-align]
    h_bound = (duk_hboundfunc *) func;
              ^
content/handlers/javascript/duktape/duktape.c: In function 'duk_js_instanceof':
content/handlers/javascript/duktape/duktape.c:78165:24: warning: cast increases required alignment of target type [-Wcast-align]
   duk_push_tval(thr, &((duk_hboundfunc *) func)->target);
                        ^
2018-05-08 12:21:41 +01:00
Michael Drake
8319ead530 Duktape: Squash -Wcast-align warnings on armhf. 2018-05-05 21:19:36 +01:00
Michael Drake
0ee536b083 Duktape: Make declarations match definitions for inline functions. 2018-05-04 16:54:36 +01:00
Michael Drake
dcb12cab51 Duktape: Make declarations match definitions for fastint-enabled functions. 2018-05-04 16:54:33 +01:00
Michael Drake
4bf20cc693 Duktape: Make declaration match definition for duk_refzero_check_fast() 2018-05-04 16:54:30 +01:00
Michael Drake
f6073cd699 Duktape: Make declarations match definitions for duk_raw_read_xxx_be 2018-05-04 16:54:27 +01:00
Michael Drake
af8bde6214 Duktape: Prevent clang static analysis. 2018-05-04 16:54:23 +01:00
Michael Drake
b16b525cd3 Duktape: Update to 2.2.1 release. 2018-05-04 16:50:55 +01:00
John-Mark Bell
a8bf9b05aa HTTPS: restrict ciphersuites 2018-04-22 12:54:23 +00:00
John-Mark Bell
7d4349035d Explicitly re-enable TLS session tickets.
Libcurl disables this by default.
2018-04-22 12:24:56 +00:00
John-Mark Bell
842513f10b URLdb: fix comparison 2018-04-22 12:09:05 +00:00
Daniel Silverstone
70b6ca4376 Force SSL session caching on, Ubuntu seems to have it off by default 2018-04-22 13:04:21 +01:00
Daniel Silverstone
5efc6407d3 Revert "Disable SSL session ID caching."
This reverts commit debe0e345b.
2018-04-22 12:58:39 +01:00
John-Mark Bell
103c015784 HSTS: make llcache update policy on 3xx responses 2018-04-22 11:39:12 +00:00
John-Mark Bell
ec1936cc93 HSTS: prevent llcache being nice
If the server has defined a HSTS policy, then the user no longer
gets to click-through a garbage certificate. Additionally, if
the server has provided a HSTS policy, it should do TLS properly,
so don't permit client-driven TLS version downgrades in that case,
either.
2018-04-22 11:39:12 +00:00
John-Mark Bell
83f5332708 HSTS: teach llcache to update and enforce policy. 2018-04-22 11:39:12 +00:00
John-Mark Bell
a6014cae15 HSTS: support policy in urldb 2018-04-22 11:39:12 +00:00
John-Mark Bell
badc0d437a LLCache: correct typos/grammar/etc. 2018-04-22 11:16:26 +00:00
Vincent Sanders
f3eb366679 Fix dependency declaration for dukky.c 2018-04-21 11:54:09 +01:00
John-Mark Bell
fe45bc1dbe JPEG: handle CMYK/YCCK images
No real colourspace conversion here, so expect oversaturated images

Fixes #2570.
2018-01-20 17:58:42 +00:00
John-Mark Bell
17ae38771d Backing store: clean up resources properly.
Patch from Felix S. Fixes #2579.
2018-01-20 16:18:51 +00:00
John-Mark Bell
328a29d22f RSVG: fix colour conversion 2018-01-20 15:33:05 +00:00
Michael Drake
6be6fa1b21 CSS utils: Handle new units in length conversion routines.
This causes a ripple effect of all the callsites needing
information they didn't have.
2018-01-05 13:49:51 +00:00
Michael Drake
5776d3448c CSS computed style composition: Update for new CSS units.
Since the nscss_compute_font_size callback now needs to convert
new units to absolute values, and some of these units require info
from the root element's style, there are knock-on changes to ensure
that the required info is available where its needed.
2018-01-05 13:49:51 +00:00
Michael Drake
d1c656b55f CSS: Add new libcss unit types to computed style dump. 2018-01-02 15:38:35 +00:00
Michael Drake
046977507b Duktape: Squash -Wcast-align warnings on armhf. 2017-11-02 16:34:59 +00:00
Michael Drake
8f73414c06 Revert "Duktape: Attempt to squash aarch64 cast increases required alignment warnings."
This reverts commit 8cc3adee5a.

These warnings don't show up with the CI updated to Debian Stretch.
2017-11-01 16:02:20 +00:00
Michael Drake
8cc3adee5a Duktape: Attempt to squash aarch64 cast increases required alignment warnings.
content/handlers/javascript/duktape/duktape.c: In function 'duk_resolve_nonbound_function':
content/handlers/javascript/duktape/duktape.c:14585:25: error: cast increases required alignment of target type [-Werror=cast-align]
duk_push_tval(thr, &((duk_hboundfunc *) h)->target);
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_bi_function_prototype_bind':
content/handlers/javascript/duktape/duktape.c:32399:20: error: cast increases required alignment of target type [-Werror=cast-align]
h_boundtarget = (duk_hboundfunc *) h_target;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_free_hobject':
content/handlers/javascript/duktape/duktape.c:46048:23: error: cast increases required alignment of target type [-Werror=cast-align]
duk_hboundfunc *f = (duk_hboundfunc *) h;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk__mark_hobject':
content/handlers/javascript/duktape/duktape.c:47865:23: error: cast increases required alignment of target type [-Werror=cast-align]
duk_hboundfunc *f = (duk_hboundfunc *) h;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_hobject_refcount_finalize_norz':
content/handlers/javascript/duktape/duktape.c:49842:23: error: cast increases required alignment of target type [-Werror=cast-align]
duk_hboundfunc *f = (duk_hboundfunc *) h;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk__handle_bound_chain_for_call':
content/handlers/javascript/duktape/duktape.c:61509:14: error: cast increases required alignment of target type [-Werror=cast-align]
h_bound = (duk_hboundfunc *) func;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_js_instanceof':
content/handlers/javascript/duktape/duktape.c:78117:24: error: cast increases required alignment of target type [-Werror=cast-align]
duk_push_tval(thr, &((duk_hboundfunc *) func)->target);
^
2017-10-30 16:50:38 +00:00
Michael Drake
448228a30c Duktape: Use align-by-8 on all platforms by default
This reproduces upstream commit de7ae8a2ecc597e1c2024c15dbeae4d28c9f2a2c.

*   de7ae8a2ec

It was applied to master after the release of Duktape 2.2.0.  See also:

*   https://github.com/svaarala/duktape/issues/1783
*   https://github.com/svaarala/duktape/issues/812#issuecomment-337058737
2017-10-29 15:17:06 +00:00
Michael Drake
0687687c37 Duktape: Revert alignment of struct duk_hobject. 2017-10-29 15:16:21 +00:00
Michael Drake
ea7da966de Duktape: Another attempt to squash aarch64 increases required alignment warnings. 2017-10-29 14:50:10 +00:00
Michael Drake
6619be2b72 Duktape: Attempt to squash aarch64 cast increases required alignment warnings.
content/handlers/javascript/duktape/duktape.c: In function 'duk_resolve_nonbound_function':
content/handlers/javascript/duktape/duktape.c:14585:25: error: cast increases required alignment of target type [-Werror=cast-align]
duk_push_tval(thr, &((duk_hboundfunc *) h)->target);
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_bi_function_prototype_bind':
content/handlers/javascript/duktape/duktape.c:32399:20: error: cast increases required alignment of target type [-Werror=cast-align]
h_boundtarget = (duk_hboundfunc *) h_target;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_free_hobject':
content/handlers/javascript/duktape/duktape.c:46048:23: error: cast increases required alignment of target type [-Werror=cast-align]
duk_hboundfunc *f = (duk_hboundfunc *) h;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk__mark_hobject':
content/handlers/javascript/duktape/duktape.c:47865:23: error: cast increases required alignment of target type [-Werror=cast-align]
duk_hboundfunc *f = (duk_hboundfunc *) h;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_hobject_refcount_finalize_norz':
content/handlers/javascript/duktape/duktape.c:49842:23: error: cast increases required alignment of target type [-Werror=cast-align]
duk_hboundfunc *f = (duk_hboundfunc *) h;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk__handle_bound_chain_for_call':
content/handlers/javascript/duktape/duktape.c:61509:14: error: cast increases required alignment of target type [-Werror=cast-align]
h_bound = (duk_hboundfunc *) func;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_js_instanceof':
content/handlers/javascript/duktape/duktape.c:78117:24: error: cast increases required alignment of target type [-Werror=cast-align]
duk_push_tval(thr, &((duk_hboundfunc *) func)->target);
^
2017-10-29 14:02:10 +00:00
Michael Drake
e418416c77 Squash remaining GCC7 -Wimplicit-fallthrough warnings. 2017-10-23 09:46:02 +01:00
Michael Drake
a47edd3733 Duktape: Make declarations match definitions for inline functions. 2017-10-21 16:33:03 +01:00
Michael Drake
8e7fc8e2ac Duktape: Make declarations match definitions for fastint-enabled functions.
Restore ff20edbfbe for 2.2.0 import.
2017-10-21 16:23:16 +01:00
Michael Drake
0759139c61 Duktape: Make declaration match definition for duk_refzero_check_fast()
Restore 9a8577fead for 2.2.0 import.
2017-10-21 16:21:48 +01:00
Michael Drake
0a7f62ceb0 Duktape: Make declarations match definitions for duk_raw_read_xxx_be
Restore 6d63f7959a for 2.2.0 import.
2017-10-21 16:20:33 +01:00
Michael Drake
6f33e48ca3 Duktape: Prevent clang static analysis.
Restore 336326af3a for 2.2.0 import.
2017-10-21 15:54:33 +01:00
Michael Drake
3356906904 Duktape: Update to 2.2.0 release. 2017-10-21 15:51:55 +01:00
Michael Drake
f7f18042bf CSS: Wrappers for computed style getters that return unsupported values.
We don't yet handle the Flexbox-related values for certain properties.
2017-10-20 17:46:37 +01:00
Michael Drake
f64a22c228 CSS hints: Ensure length and unit are initialised for vertical-align. 2017-10-13 10:28:42 +01:00
Vincent Sanders
b9bdc8d312 fix image cache format specifiers signedness 2017-09-11 17:29:57 +01:00
Vincent Sanders
8fb2fc6fc3 rationalise history icon bitmap handling to ensure correct lifetime 2017-09-10 16:06:38 +01:00
Vincent Sanders
8b88e44090 fix time_t logging 2017-09-08 20:47:22 +01:00
Daniel Silverstone
50cbb98941 Hopefully quash warning about time_t formatting on openbsd 2017-09-08 19:38:11 +01:00
Vincent Sanders
5d6f189d8b Fixup everything the semantic patch missed 2017-09-07 18:12:09 +01:00
Vincent Sanders
71225624f6 update fetch debug logging to use catagory 2017-09-06 18:45:35 +01:00
Vincent Sanders
72e6050eb3 add low level cache category and use it 2017-09-06 18:45:35 +01:00
Vincent Sanders
63f5ba6f62 update bindings with logging changes 2017-09-06 18:45:35 +01:00
Vincent Sanders
75018632a9 Use coccinelle to change logging macro calls in c files
for F in $(git ls-files '*.c');do spatch --sp-file foo.cocci --in-place ${F};done

@@ expression E; @@
-LOG(E);
+NSLOG(netsurf, INFO, E);
@@ expression E, E1; @@
-LOG(E, E1);
+NSLOG(netsurf, INFO, E, E1);
@@ expression E, E1, E2; @@
-LOG(E, E1, E2);
+NSLOG(netsurf, INFO, E, E1, E2);
@@ expression E, E1, E2, E3; @@
-LOG(E, E1, E2, E3);
+NSLOG(netsurf, INFO, E, E1, E2, E3);
@@ expression E, E1, E2, E3, E4; @@
-LOG(E, E1, E2, E3, E4);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4);
@@ expression E, E1, E2, E3, E4, E5; @@
-LOG(E, E1, E2, E3, E4, E5);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5);
@@ expression E, E1, E2, E3, E4, E5, E6; @@
-LOG(E, E1, E2, E3, E4, E5, E6);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6);
@@ expression E, E1, E2, E3, E4, E5, E6, E7; @@
-LOG(E, E1, E2, E3, E4, E5, E6, E7);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6, E7);
2017-09-06 18:45:27 +01:00
Vincent Sanders
8d9b2efc11 use nslog library for logging if available. 2017-09-03 23:40:32 +01:00
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