Commit Graph

14107 Commits

Author SHA1 Message Date
Daniel Silverstone
50ff8433da
browser_window: Use messages for unknown errors
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-24 09:47:23 +00:00
Daniel Silverstone
89e468422d
about: Correct handling of ring in fetch_about_poll
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-24 09:46:59 +00:00
Daniel Silverstone
5a028f61d3
test: Another corestring
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-24 09:20:14 +00:00
Michael Drake
21bbda23fa Browser window: Set the search string on show cookies.
We still need to tell the front end to open the cookies
window.
2020-02-24 08:55:26 +00:00
Michael Drake
214f436b07 Cookie manager: Add API to set the search string. 2020-02-24 08:49:50 +00:00
Michael Drake
34e61df8eb Treeview: Add API for setting the search string. 2020-02-24 08:44:52 +00:00
Michael Drake
a59646cbf8 Hashmap: Check for failure of first malloc. 2020-02-24 08:23:45 +00:00
Michael Drake
3cceb8ff2b Test: libmalloc_fig.so needs "-ldl". 2020-02-24 08:22:53 +00:00
Daniel Silverstone
360997c265
fs_backing_store: Clear entry memory flags on read
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 23:04:49 +00:00
Daniel Silverstone
f3a0e9f0a1
browser_window: Various little SSL fixes
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 22:32:58 +00:00
Daniel Silverstone
e6a5c090c9
curl: Implement SSL chain cache in cURL fetcher
Because cURL can do connection caching behind the scenes, we
need to have a cache for the SSL certificate chains which we
send onward on first header back from cURL.

This uses the new hashmap implementation to mean that we cache
chains on a hostname:port basis.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 22:31:58 +00:00
Daniel Silverstone
af53312b83
corestrings: add '443'
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 22:31:25 +00:00
Daniel Silverstone
5a5670410b
ssl_certs: Add dup_into
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 22:31:10 +00:00
Michael Drake
494db4cd51 Page info: Fix typo. 2020-02-23 21:04:38 +00:00
Daniel Silverstone
859972df71
llcache: Rework fs_backing_store to use hashmap
As a result, we no longer waste a bunch of RAM on the entries
tables.  This ought to be no slower, and more memory efficient.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 20:59:40 +00:00
Daniel Silverstone
ac75a9161e
llcache: Persist anything available during llcache_finalise
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 20:59:40 +00:00
Daniel Silverstone
088917641f
utils: Add hashmap_count()
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 20:59:40 +00:00
Daniel Silverstone
3e02961ec8
utils: Fix destroy of non-empty hashmap
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 20:59:40 +00:00
Daniel Silverstone
54b1960d18
utils: Add iteration API to hashmap
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 20:59:39 +00:00
Daniel Silverstone
fd80341513
utils: Add hashmap to sources
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 20:59:39 +00:00
Daniel Silverstone
61187d31ab
utils: Add hashmap parameter function types
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 20:59:39 +00:00
Michael Drake
be659af7e5 Page info: Avoid anonymous union for AmigaOS3 and OpenBSD. 2020-02-23 20:23:00 +00:00
Michael Drake
9062ae3c70 GTK: Page info: Change crtvrfy to pi throughout. 2020-02-23 17:38:14 +00:00
Michael Drake
66c069816a NetSurf: Init/fini the page-info module on browser startup/quit. 2020-02-23 17:38:14 +00:00
Michael Drake
0e4f09db0f Buildsystem: Build the page-info module. 2020-02-23 17:38:14 +00:00
Michael Drake
7a3f864940 Page info: Add core window size getter, and stub for keypresses. 2020-02-23 17:38:14 +00:00
Michael Drake
1149a1304d Page info: Implement mouse action handling. 2020-02-23 17:38:14 +00:00
Michael Drake
4b2697c989 Page info: Implement redraw. 2020-02-23 17:38:14 +00:00
Michael Drake
c32e1bb340 Page info: Implement page info window creation and destruction. 2020-02-23 17:38:14 +00:00
Michael Drake
3940918b68 Page info: Add data structures and module init/fini. 2020-02-23 17:38:14 +00:00
Michael Drake
9198c9958a Desktop: Add page-info API.
This will be a core window intended to show information about the
page currently shown in the associated browser window.
2020-02-23 17:38:14 +00:00
Michael Drake
8da6252f50 Browser window API: Add count for page state enum. 2020-02-23 17:38:14 +00:00
Michael Drake
a39b651620 Browser window: Add stubs for new interfaces for page-info dialogue. 2020-02-23 17:38:14 +00:00
Michael Drake
d23a7b4c8f Browser window: Constify bw through page_info_state getter. 2020-02-23 17:38:14 +00:00
Michael Drake
475d397b8c Plot style: Add function to engorge a colour channel.
This can be used to exaggerate the red, green, or blue component.
2020-02-23 17:38:14 +00:00
Michael Drake
6783deba4e Plot style: Split lightness calc out of colour_to_bw_furthest macro. 2020-02-23 17:38:14 +00:00
Vincent Sanders
8a834918e3 missed a certificate change on amiga frontend 2020-02-23 17:37:33 +00:00
Vincent Sanders
338dd004f2 fix windows and amiga frontends to cope with certificate chain changes 2020-02-23 17:25:19 +00:00
Vincent Sanders
7039973a1f fix frontends to cope with certificate chain update 2020-02-23 17:19:45 +00:00
Vincent Sanders
0c34d06494 Keep the complete certificate chain from a fetch
Instead of extracting information from the X509 certificate chain in
the fetcher the entire chain is propagated in Distinguished Encoding
Rules (DER) format.

This allows all the information contained in a certificate chain to be
retained which can subsequently be presented to the user
2020-02-23 16:23:50 +00:00
Vincent Sanders
214478fc15 Improve some content documentation comments 2020-02-23 16:17:51 +00:00
Daniel Silverstone
a653e1e86e
utils: Add a generic hashmap and tests for it
In order to be able to use a generic hashmap in things such
as the fs_backing_store we want one to exist.  Here it is,
along with some moderately comprehensive tests.

Current limits:

1. All keys and values are owned by the hashmap
2. The hashmap, while capable of different bucket counts
   only has a single fixed count for now

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 15:13:47 +00:00
Michael Drake
f3b7a0c44c HTML Script: Check for success on intern of mimetype. 2020-02-23 14:28:27 +00:00
Daniel Silverstone
bc94555d9e
hotlist: Report if infallible destruction fails
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 09:37:42 +00:00
Daniel Silverstone
16163aab03
HTML: Ignore dom exceptions we don't care about
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 09:36:07 +00:00
Daniel Silverstone
b633bef7bf
Node: nodeValue setter should return value set into node
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 09:33:26 +00:00
Daniel Silverstone
1ecc36384d
browser_window: Propagate error code when handling errors
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 09:20:05 +00:00
Daniel Silverstone
bfd185ac49
dukky: Guard pointless work for deep debug
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 09:19:51 +00:00
Daniel Silverstone
614ca752f3
GTK: When we update the dimensions, resize the grid
By doing this, we ensure the scrollbars update their thumbs
properly, otherwise they can lag behind the page shape somewhat.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 21:41:17 +00:00
Daniel Silverstone
486aff5efc
GTK: Drain GTK events before schedule_run()
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 21:01:27 +00:00