Commit Graph

1734 Commits

Author SHA1 Message Date
Michael Drake
60b12cd9fe Image: ICO: Call bitmap format conversion after decode.
Currently a no-op, because we decode to the default format
and no front end requests anything but the default format.
2022-03-26 15:45:00 +00:00
Michael Drake
e7a355bf8d Image: GIF: Call bitmap format conversion before/after decode.
Currently a no-op, because we decode to the default format
and no front end requests anything but the default format.
2022-03-26 15:45:00 +00:00
Michael Drake
27a89439a2 Image: BMP: Call bitmap format conversion after decode.
Currently a no-op, because we decode to the default format
and no front end requests anything but the default format.
2022-03-26 15:45:00 +00:00
Michael Drake
002c3c1a7c Bitmap API: Clean up creation flags. 2022-03-24 18:09:28 +00:00
Michael Drake
a4cb24ed46 Image: ICO: Update for new libnsbmp API. 2022-03-24 12:01:53 +00:00
Michael Drake
b6238c6c5c Image: BMP: Update for new libnsbmp API. 2022-03-24 12:01:36 +00:00
Michael Drake
1dd3c80d9b PNG: Bytes per pixel is always 4. 2022-03-24 11:12:57 +00:00
Michael Drake
7c3382834e GIF: Update to new libnsgif API.
Set required colour component order.
2022-03-23 17:52:20 +00:00
Michael Drake
ae9047b1ed GIF: Tolerate errors during scan if at least one frame. 2022-03-03 19:03:29 +00:00
Michael Drake
2e9ef8feae GIF: Update to latest libnsgif API. 2022-02-26 14:55:13 +00:00
Michael Drake
251cce29b7 CSS: Selection callbacks: Update to latest LibDOM API. 2021-07-05 14:59:10 +01:00
Michael Drake
fa64d91d12 Switch to new libcss API for unit conversion. 2021-05-30 11:52:33 +01:00
Michael Drake
638a408dde CSS: Update to latest libcss: Remove weird units.
The 'rlh', 'ic' and 'cap' units were never implemented by anyone.
2021-05-30 11:52:33 +01:00
Vincent Sanders
5a2f69388c hoist the Referer header generation logic up to the low level cache
This removes the need for the fetchers to have any interaction with
 the Referer header. It has not been completely removed from the
 fetch interface as fetch.c:fetch_set_cookie() still uses it for
 unverifiable cookie decision logic. (There is an anchient todo here)
2021-03-25 23:36:41 +00:00
Michael Drake
9e3ef18255 html: layout: Cleanup dom node tag name getting with helper. 2021-02-20 17:03:49 +00:00
Michael Drake
920041a131 html: layout: Fix to ignore non-element children of lists. 2021-02-20 12:00:42 +00:00
Michael Drake
9783296c4f layout: Add support for OL reversed attribute. 2021-02-10 17:59:51 +00:00
Michael Drake
496b1eca08 layout: list handling: Scope reduce some variables in the recursive call. 2021-02-10 17:57:57 +00:00
Michael Drake
d29f6d6c1e html: layout: Change list value step to variable. 2021-02-10 17:57:57 +00:00
Michael Drake
e18bb8fde1 html: Add support for OL start attribute.
Note: Added new box member because rows was unsigned, and it was
      naughty to use something meant for tables.

Note: Now numbers <= 0 can be generated, but LibCSS needs updated
      to support that.
2021-02-10 17:57:57 +00:00
Michael Drake
64680a8edb layout: Add support for list item value attribute. 2021-02-09 21:33:06 +00:00
Michael Drake
41a0c21812 html: Do list item counting at layout time. 2021-02-09 20:36:52 +00:00
Michael Drake
9434fe1ff0 layout: Pass content into list layout function. 2021-02-09 20:36:52 +00:00
Michael Drake
839fb8570a layout: Add counting for list items to layout. 2021-02-09 20:36:52 +00:00
Vincent Sanders
ff225194f3 use list style formatting from libcss 2021-02-07 00:07:24 +00:00
Michael Drake
55fadc802a html: list counter style: Revert to string for {pre|post}fix. 2021-02-02 16:39:41 +00:00
Michael Drake
3b57deb046 html: list counter style: Constify {pre|post}fix memebers. 2021-02-02 15:06:04 +00:00
Michael Drake
87b5fd1bcc html: list counter style: Split out symbol copy. 2021-02-02 15:04:09 +00:00
Vincent Sanders
60d9dbe390 change list counter style formatting to be table driven 2021-02-02 01:19:32 +00:00
Vincent Sanders
bca82dfe83 do not count the null terminator in list counter style length formatting 2021-01-31 23:30:07 +00:00
Vincent Sanders
27b178b04b implement armenian and georgian list counter styles 2021-01-31 22:56:35 +00:00
Vincent Sanders
83ebc3bb8e split counter style handling out of the box code 2021-01-31 10:49:13 +00:00
Michael Drake
13c1b11317 css: hints: Add support for OL type attribute. 2021-01-31 09:36:02 +00:00
Vincent Sanders
4455f1b712 implement list marker counting for roman, latin and greek 2021-01-30 23:00:44 +00:00
Vincent Sanders
06c721c5bb add simple chart generator and use it from the imagecache 2020-10-05 23:01:24 +01:00
Daniel Silverstone
ba4c20a0c7
dukky: Fix assignment in assert
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-10-03 14:21:26 +01:00
Daniel Silverstone
926e560716
about: Check senddata return in blank handler
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-10-03 14:04:38 +01:00
Daniel Silverstone
2d58372ec2
Console: Do not try and log through a closed down window
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-10-02 20:15:23 +01:00
Vincent Sanders
44225f1b34 split out about scheme handler for nscolours css 2020-09-29 22:50:08 +01:00
Vincent Sanders
7e45969993 split out about scheme query fetcherror handler 2020-09-29 22:50:08 +01:00
Vincent Sanders
f0b7955d3d split out about scheme query timeout page 2020-09-29 22:50:08 +01:00
Vincent Sanders
746affa782 split out about scheme query auth handler 2020-09-29 22:50:04 +01:00
Vincent Sanders
b1844cbf2a split out about scheme query private handler 2020-09-27 23:09:56 +01:00
Vincent Sanders
ff3b948ac0 split out choices about scheme handler 2020-09-27 13:46:39 +01:00
Vincent Sanders
86ecde9a47 split out about handler config handler 2020-09-27 00:37:32 +01:00
Vincent Sanders
da7904554c split out about scheme testament handler 2020-09-23 08:48:17 +01:00
Vincent Sanders
dd541886fe split out about scheme certificate viewer generator 2020-09-21 12:53:39 +01:00
Vincent Sanders
4cbc8f16b6 split out blank handler for about scheme 2020-09-21 08:25:56 +01:00
Vincent Sanders
5207ecf308 split out the about scheme imagecache page generator 2020-09-20 16:36:01 +01:00
Vincent Sanders
c74509cdf5 move about fetcher into its own directory 2020-09-20 10:54:48 +01:00
Vincent Sanders
1f2946a710 remove unecessary exported function from plain text content handler 2020-07-27 22:56:17 +01:00
Vincent Sanders
652078f8cf fix erronenous child variable assignment 2020-07-12 18:49:47 +01:00
Vincent Sanders
313e5cabba ensure the html layout is present for text selection
The text selection operations can be called regardless
  of when the html layout box tree is actually
  available (e.g. if it is still loading when opened)

This change ensures the layout box tree is available before
  attempting to traverse it for a selection operation.
2020-07-12 13:47:52 +01:00
Vincent Sanders
0908925ca6 move the file fetcher sources into a single directory 2020-07-03 18:07:21 +01:00
Vincent Sanders
912aa6359d remove incorrect colour rule from unternal.css 2020-06-29 09:04:10 +01:00
Vincent Sanders
402ad02ff5 remove unecessary use of gui_internal in content 2020-06-25 14:37:57 +01:00
Vincent Sanders
82bb483964 remove unesessary header use in protected content 2020-06-25 12:33:52 +01:00
Vincent Sanders
ebe1b05114 improve desktop text search header usage
remove unecessary inclusion of desktop search header in content
  header which has knock on effect of not having ctype or string
  system headers dragged in unecessarily.

Futher this highlighted use of ctype API where internal ascii
  processing ought to be used.
2020-06-24 23:49:59 +01:00
Vincent Sanders
2352bea153 use the ascii locale safe handling instead of ctype API 2020-06-24 23:34:09 +01:00
Vincent Sanders
d5d14df76b initial implementation of split messages in c
functional but the compression switch still needs implementing
2020-06-15 00:21:06 +01:00
Vincent Sanders
154a6b6987 implement a minimal xxd for builds to remove external dependancy 2020-06-03 23:34:57 +01:00
Vincent Sanders
b182cc7617 remove box handling from browser window 2020-05-25 20:37:06 +01:00
Daniel Silverstone
39552607a5
canvas: Implement fully correct putImageData features
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-24 19:34:04 +01:00
Daniel Silverstone
b4c99f9e57
llcache: Free existing chain if we get a new one
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-24 17:01:05 +01:00
Michael Drake
3bf39f7f2c JS dom event binding: Squash leak of string. 2020-05-24 16:25:30 +01:00
Daniel Silverstone
74b8767ee2
Canvas: Do not overrun destination bitmap during creation
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-24 16:21:36 +01:00
Vincent Sanders
8673b035f0 commit a neatness in teh html content handler text selection code 2020-05-24 11:19:10 +01:00
Vincent Sanders
dbe63210cf fix use of uninitialised warning on older gcc 2020-05-23 23:48:38 +01:00
Daniel Silverstone
d157b505e6
canvas: Support changing canvas size at runtime
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-23 23:44:39 +01:00
Vincent Sanders
5ce8f0baf1 make text selection context an opaque interface 2020-05-23 23:33:52 +01:00
Vincent Sanders
6108d210d5 remove all direct access to selection structure 2020-05-23 23:00:08 +01:00
Vincent Sanders
1161029d29 remove unecessary content handler specific selection creation 2020-05-23 23:00:08 +01:00
Vincent Sanders
2ea577c47e remove unused is_html parameter to text selection routines 2020-05-23 23:00:08 +01:00
Vincent Sanders
a8c540ea59 move content specific selection end to content handlers 2020-05-23 23:00:08 +01:00
Vincent Sanders
cfe57002fe remove unused css length usage in selection 2020-05-23 23:00:08 +01:00
Vincent Sanders
e65e41e2d6 move content handler specific selection copying into handlers 2020-05-23 23:00:08 +01:00
Vincent Sanders
36b9262e14 split selection redraw into content handler specific implementations 2020-05-23 23:00:08 +01:00
Daniel Silverstone
291a5ec79d
fs_backing_store: Stop trying to render offsets in hex
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-23 12:16:34 +01:00
Daniel Silverstone
6d8b9a9bb4
fs_backing_store: Do not use %jx because amigaos3 can't render it properly
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-23 12:12:56 +01:00
Daniel Silverstone
d8f083bf52
Canvas: Move bitmap management to the 2D render context
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-23 10:15:30 +01:00
Daniel Silverstone
dd43748676
fix: Make it OK if the chain isn't avilable during bad-ssl querying
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-23 09:38:51 +01:00
Daniel Silverstone
804faacf82
html: Handle canvas width/height stated explicitly in px
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 20:26:51 +01:00
Daniel Silverstone
aec946b4ff
CanvasRenderingContext2D: More verbose input validation error message
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 20:26:32 +01:00
Daniel Silverstone
daed553a06
javascript: Support Canvas to a basic level
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 19:53:23 +01:00
Daniel Silverstone
4d89108072
html: Don't both building a bitmap if we're not rendering it
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 16:03:48 +01:00
Daniel Silverstone
334b498d5c
html: Handle canvas in redraw
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 16:00:46 +01:00
Daniel Silverstone
937894d654
html: set up canvas box properly
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 16:00:20 +01:00
Daniel Silverstone
b39f418bca
html: Add canvas node handling in dom_event
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 15:59:47 +01:00
Daniel Silverstone
a5572cde76
css: Support canvas width/height presentational hints
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 15:59:02 +01:00
Daniel Silverstone
1a836c9bc4
fetchers/curl: Move report_certs function outside WITH_OPENSSL
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 10:45:19 +01:00
Daniel Silverstone
b28d3c2675
query/ssl: Include link to view certificate details
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 10:37:27 +01:00
Michael Drake
c2f73310d0 Squash warning: "_GNU_SOURCE" redefined.
The utils/config.h header handles this.
2020-05-22 10:30:05 +01:00
Vincent Sanders
4cef0f955c pass the browser window to selection click handler
this means the content handlers do not have to provide a separate
  method to extract their browser window and it can simply be
  passed in.
2020-05-20 23:17:48 +01:00
Vincent Sanders
2f67227901 cleanup selection code formatting and documentation
removes forward declarations
cleans up documentation comments in header
removes unecessarily exported functions
2020-05-20 22:17:16 +01:00
Vincent Sanders
6fe2f7de47 do not export texplain interfaces unnecessarily 2020-05-19 23:38:34 +01:00
Daniel Silverstone
20d46406ed
about: Rework freeing the san_names structure
AmiSSL's approach to replacing 90% of OpenSSL calls with assembly
means that the official way to pop_free a stack type won't work.

As such, we open-code it here.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-19 13:39:07 +01:00
Vincent Sanders
3ab21dbaa4 add subject alternative names to certificate viewer 2020-05-18 23:16:56 +01:00
Michael Drake
e201597a8d Page info: Improve certificate fault display style. 2020-05-18 21:53:28 +01:00
Vincent Sanders
c50b19469e Display errors properly in certificate window 2020-05-18 18:32:01 +01:00
Michael Drake
09accc91e9 Improve certificate page styling. 2020-05-17 17:29:27 +01:00
Vincent Sanders
181777791b add fingerprints to the certificate viewer 2020-05-17 16:43:01 +01:00
Vincent Sanders
e09ea43dbb split out public key table formatted output 2020-05-17 15:48:15 +01:00
Vincent Sanders
aaa507b09f use entity for colon in certificate hex values to allow netsurf to break properly 2020-05-17 15:20:30 +01:00
Vincent Sanders
6002efff27 get the sign right on the certificate openssl compatability interface 2020-05-17 13:40:59 +01:00
Vincent Sanders
125b96b818 fix typo in certificate openssl compatability 2020-05-17 12:18:05 +01:00
Vincent Sanders
c8d9dfd2e0 add openssl compatability to certificate decode 2020-05-17 11:12:02 +01:00
Vincent Sanders
297448cfff make about handler ssenddataf cope with longer data 2020-05-16 23:23:40 +01:00
Vincent Sanders
7d59f09bea improve certificate viewer 2020-05-16 22:46:18 +01:00
Vincent Sanders
3a7fc30a5f implement content opacity check through the function table 2020-05-13 19:03:14 +01:00
Vincent Sanders
95e0a24fac use content messages to inform frontend of text search changes 2020-05-13 14:31:39 +01:00
Vincent Sanders
f4e50b45c8 make free text search content handler agnostic 2020-05-12 23:22:05 +01:00
Vincent Sanders
68b9417a6b consolodate the textsearch code into a single module 2020-05-12 21:29:32 +01:00
Vincent Sanders
3c7538a9f9 hoist common text search out of content handlers 2020-05-12 21:09:41 +01:00
Vincent Sanders
a8596a80ae move free text search general interface to content.
needs additional cleanup to call content through handler table to
  perform searches.
2020-05-10 23:22:29 +01:00
Vincent Sanders
e72ca36863 remove unecessary includes 2020-05-10 15:15:33 +01:00
Vincent Sanders
b39db1dac4 add missing header includes from previous change 2020-05-08 09:08:31 +01:00
Vincent Sanders
ab952e0634 improve content header usage 2020-05-07 20:55:44 +01:00
Vincent Sanders
5f8b1497e1 clean up content headers and documentation comments
pure formatting and documentation changes, no code difference
2020-05-06 23:38:50 +01:00
Vincent Sanders
c2f9bcac19 remove junk content_add_error api 2020-05-06 22:54:52 +01:00
Vincent Sanders
b832bfaea8 remove unused junk error values from content struct
saves over half a kilobyte for every content
2020-05-06 22:22:16 +01:00
Vincent Sanders
d9a593c984 split dom event handling into separate module 2020-05-05 20:05:37 +01:00
Vincent Sanders
1d8542166c Clean up html content dom element insertion processing 2020-05-05 11:14:26 +01:00
Daniel Silverstone
754e3f4f8c
curl: Pass cert chain on even if we get no headers
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-04 18:29:46 +01:00
Daniel Silverstone
bb5d5562bc
llcache: Actually pass on certificate chain properly
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-04 18:29:33 +01:00
Vincent Sanders
82559d2ff4 remove the forward references in html form internal handling 2020-05-03 21:56:51 +01:00
Vincent Sanders
2a0f552524 remove forward delcarations and clean up formatting in html table layout processing 2020-05-03 19:02:47 +01:00
Vincent Sanders
a40727cd29 Improve hsndling of html content objects with no associated box 2020-05-03 17:00:04 +01:00
Vincent Sanders
fcd8d50359 remove unecessary include 2020-05-03 10:06:43 +01:00
Vincent Sanders
a706c69bf4 improve html content handler private headers 2020-05-02 20:47:53 +01:00
Vincent Sanders
19cd5cb3b3 add missing include 2020-05-01 21:36:50 +01:00
Vincent Sanders
986d4d5f82 put html content handler object interface into its own header 2020-05-01 21:25:23 +01:00
Vincent Sanders
479d0cb29a remove unused available width and height parameters from html_fecth_object() 2020-04-30 22:16:41 +01:00
Vincent Sanders
6b6bbad2b7 remove unecessary filename prefixes in the html content handler 2020-04-30 21:59:21 +01:00
Vincent Sanders
e8d0ba15ad split html box processing code
reduce the module size of the html box handling code by
 splitting into smaller sections.

No functional code change.
2020-04-29 20:37:42 +01:00
Vincent Sanders
a64261c3bd Initial special canvas handling to not show fallback 2020-04-28 23:35:00 +01:00
Vincent Sanders
c0ef8ce645 clean up html box, no functionality change just cosmetic
split up the html box headers
tidy up the documentation comments
avoid forward declarations in normalisation implementation
2020-04-28 23:30:20 +01:00
Vincent Sanders
f6883d6761 use dom type interface instead of strcasecmp 2020-04-26 17:31:15 +01:00
Daniel Silverstone
d3d17ded9c
dukky: Don't allow js_exec on a thread pending destruction
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-04-26 15:46:54 +01:00
Daniel Silverstone
2cb33b0c33
dukky: Various checks for win being NULL
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-04-26 15:35:36 +01:00
Vincent Sanders
b577de7c5b remove forward declarations
reorder module to remove need for forward function declarations.
remove unecessary and confusing parameter macros
2020-04-26 11:21:02 +01:00
Daniel Silverstone
24ec30359b
Window: Do not get stuck if callbacks are in-train during compartment close
When we close the JS compartment we try and cancel all callbacks so that
they do not fire after the compartment is closed.  However if we have
in-train callbacks, they can gum up the closedown and so we need to check
and if we've done all we can, we break out of the callback removal loop.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-04-25 14:04:54 +01:00
Vincent Sanders
bf4cbc95b0 add bindings for canvas width and height 2020-04-24 22:05:57 +01:00
Vincent Sanders
084861a31b Implement javascript scheme url script https://wiki.whatwg.org/wiki/URL_schemes 2020-04-17 22:43:44 +01:00
Vincent Sanders
e2f34232a2 refactor html mouse action
This reduces the source complexity of the html_mouse_action()
 previously this was a single function of several thousand
 lines with over 30 local variables allocated on the stack.

Variables are now mostly held in a single static structure which
 drasticaly reduces the size of stack frame required and improves
 lookup locality.

The generated code does cause two additional function calls as the
 compiler avoids inlining the sub functions. The optimiser seems to
 produce somewhat better code within the sub functions.

In the final analysis there appears to be no significant performance
 loss or gain with this change, just more readable source.
2020-04-13 12:09:07 +01:00
Michael Drake
15342b5f5b About pages: Update presentation using nscolour. 2020-04-07 21:32:28 +01:00
Michael Drake
aa1513ed92 Directory listings: Update to use nscolour. 2020-04-07 21:32:28 +01:00
Michael Drake
0e04059f53 about fetcher: Add about:nscolour.css generated colour stylesheet. 2020-04-07 21:32:27 +01:00
Daniel Silverstone
cbc28d2c98
html: Also close js thread on html_stop()
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-03-29 14:31:42 +01:00
Vincent Sanders
51dc59ecc9 remove unused constants 2020-03-26 23:38:50 +00:00
Daniel Silverstone
4cbdcc4aae
about: Add handling for unknown about: page
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-03-22 14:09:09 +00:00