Commit Graph

14634 Commits

Author SHA1 Message Date
Michael Drake
7e25bc6de1 Experiment with CURLOPT_CAINFO_BLOB 2022-09-30 15:47:22 +01:00
John-Mark Bell
c6eea438ac RISC OS: Allow text selection in URL bar (RO5.28 onwards) 2022-09-04 09:29:07 +01:00
Michael Drake
7c89bc0d53 RISC OS: Dragging favicon drag-saves URL 2022-08-28 22:03:57 +01:00
Michael Drake
37b6233fff RISC OS: Image: Fix EX0 EY0 plot when avoiding Tinct 2022-08-25 22:30:36 +01:00
Chris Young
703734c389 Amiga: Fix page theme current selection 2022-08-05 13:05:21 +01:00
Chris Young
79baf60fa5 Amiga: Add page theme toggle 2022-08-03 15:14:01 +01:00
Michael Drake
d082717ea6 HTML: CSS media spec: Pass in dark mode preference. 2022-07-30 21:32:37 +01:00
Michael Drake
64d90e014b Core: Options: Add user preference for dark mode colours 2022-07-30 21:28:41 +01:00
Michael Drake
8b7bbb4158 Bitmap: Remove misleading format documentation. 2022-06-14 09:45:57 +01:00
John-Mark Bell
1577d00050 RISC OS: fix awrender glue for EABI
The only hand-written asm is the glue to Artworks Render. Update
it to be ABI compliant when building for EABI and force the
alignment of the data in the .bss section (as unaligned rotated
loads are really not a thing).

No functional change for non-EABI builds but, as the stack framing
differs depending on the ABI in use, we can no longer reliably use
fp as the base pointer for on-stack function arguments to
awrender_render. Thus, this has been reworked to use ip as the
pointer instead and to also use r8/r9 to relieve excess register
pressure.
2022-06-05 23:33:12 +01:00
John-Mark Bell
cd76c45e9e Buildsystem: fix makefile snafu
99012dcd introduced a regression that caused builds for all
non-RISC OS platforms to fail. Fix this, ensuring that RISC OS
builds still do the things they need to.
2022-06-03 03:11:55 +01:00
John-Mark Bell
926c0985e3 RISC OS: fix type in awrender_init definition. 2022-06-03 02:43:01 +01:00
John-Mark Bell
e1d7928b3b RISC OS: fix snprintf usage
When computing throbber sprite names, ensure the current frame is
in range before using it.

Similarly ensure the buffer size for the temporary URL bar sprite
name is sized such that snprintf has space for the trailing NUL
when formatting it to the output buffer.
2022-06-03 02:41:23 +01:00
John-Mark Bell
617c6207bc RISC OS: fix up use of strncpy
Ensure that strings copied using strncpy are NUL terminated.

Additionally, replace use of strncpy entirely where we are writing
into non-indirected OS icon blocks (where an unterminated 12
character long string is perfectly valid).
2022-06-03 02:39:30 +01:00
John-Mark Bell
0d114e10b2 RISC OS: GCC 10 approved fall-through markers 2022-06-03 02:37:36 +01:00
John-Mark Bell
69adc31d07 inttypes: custom format for UnixLib ssize_t
UnixLib defines ssize_t to be a long int, which forces the
corresponding format string to need to be %ld to avoid compiler
warnings. Making this change uncovered a number of places where
we were using the wrong format specifier entirely (namely
PRIssizet where we meant PRIsizet). Fix these, too.
2022-06-03 02:34:22 +01:00
John-Mark Bell
bfce4632b8 env.sh: update for arm-riscos-gnueabihf 2022-06-03 00:45:13 +01:00
John-Mark Bell
99012dcdd4 Buildsystem: update for new RISC OS toolchain
The new toolchain has a different machine triplet, so update the
things that care about it to work either way.

Remove the expectation that ro-pkg-config exists (it's trivial
and the core buildsystem never used it, so let's have some
consistency).

Determine the location of the zip binary in Makefile.tools, just
like for all the other tooling and stop assuming where it's
installed in the netsurf.zip target.
2022-06-03 00:43:42 +01:00
Michael Drake
c90fb03e58 Duktape: Prevent clang static analysis. 2022-05-29 13:41:14 +01:00
Michael Drake
4e3d9127bf Duktape: Update to 2.7.0 release. 2022-05-29 13:40:24 +01:00
John-Mark Bell
a9eecb30a7 About/Cert: get EC key details using OpenSSL 3 APIs
Replace the fetching and poking around inside the low-level EC
object with appropriate calls to EVP_PKEY_get_(octet|utf8)_string_param()
and add a compatibility layer for old versions of OpenSSL.
2022-05-28 16:00:10 +01:00
John-Mark Bell
09b39f2dc7 About/Cert: get RSA n/e using OpenSSL 3 APIs
Replace the fetching and poking around inside the low-level RSA
object with appropriate calls to EVP_PKEY_get_bn_param() and
add a compatibility layer for old versions of OpenSSL.
2022-05-28 15:04:25 +01:00
John-Mark Bell
cd7ed847d4 About/Cert: use EVP_PKEY_bits to get key size 2022-05-28 14:30:28 +01:00
John-Mark Bell
2c42b1898c About/Cert: contain pkey inspection in type methods
Use of the low-level key types is deprecated in OpenSSL 3. Prepare
to stop using them by removing them from function calls.
2022-05-28 14:19:00 +01:00
John-Mark Bell
6f99d28488 UA: align with compat spec
See: https://compat.spec.whatwg.org/#ua-string-section

Force desktop sites on Linux by claiming to be running under X11
(Linux is otherwise considered a mobile OS).
2022-05-27 21:47:02 +01:00
John-Mark Bell
230aa1736f RISC OS: use OS CertData resource, if present 2022-05-27 20:32:07 +01:00
John-Mark Bell
eb94b0696c Update root CA bundle 2022-05-27 20:15:41 +01:00
John-Mark Bell
5ddd7fc0e0 Fix up size of download URI field in Dutch templates 2022-05-27 19:51:59 +01:00
John-Mark Bell
b81c95aca8 s/http/https/ in user-facing URIs 2022-05-27 17:58:51 +01:00
John-Mark Bell
862756a1a4 RISC OS: initialise font subsystem after Wimp_Initialise
If RUfl detects it is running in a Wimp task it will display a
progress meter while scanning fonts. We had this behaviour until
~2017, when it became broken due to the font initialisation being
moved before the call to Wimp_Initialise (because the hotlist
display logic got moved to the treeview, which needs fonts set up)

Move both the font and hotlist initialisation after the call to
Wimp_Initialise to restore the desired behaviour.
2022-05-27 15:09:48 +01:00
John-Mark Bell
d51cf1a789 RISC OS: fix up following RUfl API change 2022-05-27 15:09:48 +01:00
John-Mark Bell
9ab9eabfa6 Browser window: include theme.h
This is necessary to avoid a warning on platforms that support
theme installation.
2022-05-27 15:09:48 +01:00
John-Mark Bell
a558f12b53 Save complete: silence warning
Not all runtime library headers declare the first argument to
regexec as being const so don't make our snregexec wrapper do so.
Additionally, make save_complete_import_re static.
2022-05-27 15:09:48 +01:00
John-Mark Bell
7d32feecc0 about(chart): include config.h to silence warning
This file uses strndup, so needs config.h including to define it.
2022-05-27 15:09:48 +01:00
Chris Young
eb7037ac4f Amiga: Do not use pre-multiplied alpha with CompositeTags() (ie. OS4 RTG) 2022-04-01 16:43:26 +01:00
Chris Young
44e464e98d Amiga: Use ARGB format bitmaps 2022-04-01 16:03:44 +01:00
Michael Drake
7d5c449389 GTK: Simplify opaque bitmap handling.
Avoid creating new bitmaps and copying in set_opaque by always
using an RGBA format.
2022-03-29 17:32:40 +01:00
Michael Drake
8e56cc3b1a Bitmap: Implement test_opaque in core instead of in every frontend. 2022-03-29 15:25:33 +01:00
Michael Drake
cfbd16cf7e Bitmap: Try to squash -Wtautological-constant-out-of-range-compare 2022-03-28 16:52:29 +01:00
Michael Drake
231c96cf8d GTK: Bitmap: Converted bool not needed any more. 2022-03-28 16:42:09 +01:00
Michael Drake
fce59865c5 GTK: Drop bitmap format logging that's duplicated in the core. 2022-03-28 16:29:14 +01:00
Michael Drake
01ce05ae65 Bitmap: Log the bitmap format that gets set. 2022-03-28 16:28:47 +01:00
Michael Drake
414cb1a851 GTK: Get the core to handle premultipled alpha bitmap format. 2022-03-28 16:08:00 +01:00
Michael Drake
feeda29c27 WebP: Optimisation: If it's opaque avoid any PMA conversions. 2022-03-28 16:06:02 +01:00
Michael Drake
4307230331 PNG: Allow support for premultiplied alpha.
LibPNG doesn't support premultiplied alpha, so now that the core
supports it, we can't just say that the decoded PNG is in the
core bitmap format.

So we now say it's in the core pixel layout, and if it's opaque
we say it has the same premultipled alpha setting as core bitmaps
because the conversion is costly and makes no difference.

On the other hand if it is not opaque we now admit that it is
not premultipled alpha so it gets converted if needed.
2022-03-28 16:05:47 +01:00
Michael Drake
c93ed6d63a Bitmap: Add support for premultiplied alpha conversion. 2022-03-28 16:05:47 +01:00
Michael Drake
035106032b GTK: Search: Squash implicit declaration of malloc. 2022-03-28 11:47:46 +01:00
Michael Drake
acc07fcf85 GTK: Scaffolding: Squash implicit declaration of malloc, free. 2022-03-28 11:47:03 +01:00
Michael Drake
5b96635c73 GTK: Misc: Squash strcmp and strdup implicit declaration warnings. 2022-03-28 11:45:17 +01:00
Michael Drake
ad7544a6df GTK: Set bitmap format to match Cairo format.
Cairo format is native endian 0xAARRGGBB.
2022-03-28 11:11:03 +01:00