We normally ask for confirmation before asking the operating system to
find an application to handle a scheme that the browser does not support.
It did not ask before doing so for the Usenet-related schemes news: snews:
and nntp:. Since most operating systems in 2024 don't have a trusted
newsreader installed by default, an unscrupulous program that the user
downloaded could register itself as a handler.
The website that served the application download could then launch that
application at will. Of course, all bets are off if a user runs such a
program to begin with, but in some situations (looking at you, MacOS!)
just downloading/unpacking could already result in registration as a
protocol handler without the user actually executing anything.
These functions are only ELF ABI specific, not really OS specific.
Add powerpc, powerpc64 and sparc64 support for NetBSD
by using the same code as other ELF systems do.
On such platforms, remapping memory that was once writable
to executable is forbidden unless the initial mmap() is declared
to change in such a way using the PROT_MPROTECT macro.
This adds special-case #! comment handling at the top level, treating
any hashbang line as a single-line comment in the parser.
This only applies to Eval(), module script or global context.
This changes the way the extended attribute [LenientFloat] behaves, so
that overloading functions can match extended attributes while not
having restricted float type arguments themselves.
We already had part of the plumbing for other canvas manipulations, so
this is somewhat simplified.
This excludes the interface as that is breaking the build at this stage.
Some more research is required.
The unversioned libGL is preferred on OpenBSD and NetBSD because
both (a) always install it (b) have forks of X11 with different
ABI versions. However, many Linux distributions do not ship
unversioned .so symlinks unless you install -dev packages.
Unfortunately also needs to be fixed in ANGLE which has the same
problem.
Note: Because the new function checks types, we need to change the
fullCorner type in `nsComputedDOMStyle::GetEllipseRadii()` and
`StyleAnimationValue::ExtractComputedValue()` to `Corner` instead of the
underlying base type.