Andrew Kaster
3bb41e942f
LibCore: Null-check struct addrinfo to avoid freeaddrinfo(NULL)
...
On some C libraries, like NetBSD and musl-libc, this under-specified
edge case results in a crash rather than silently ignoring the null
pointer.
2024-06-06 09:27:50 -06:00
Andrew Kaster
605aa2e34b
Meta: Link librt to LibCoreMinimal on NetBSD
...
We were already linking librt to LibCore for shm_open and friends.
Now that we build the code that uses POSIX shm into LibCoreMinimal, we
need to link librt into that as well.
2024-06-06 09:27:50 -06:00
Andrew Kaster
1bf926a125
LibCore: Be more BSD-friendly in Core::Environment
...
FreeBSD and NetBSD don't have secure_getenv(3), same as macOS.
FreeBSD 13 and lower also don't allow setting environ pointers to null.
Co-Authored-By: Robert Clausecker <fuz@FreeBSD.org>
2024-06-06 09:27:50 -06:00
Andrew Kaster
da6891bf2e
LibJS: Pass -1 as fd when using MAP_ANONYMOUS with mmap
...
NetBSD and FreeBSD get upset when we don't set the fd to an invalid
value when using a non-shared mapping.
Reported-By: Thomas Klausner <wiz@gatalith.at>
2024-06-06 09:27:50 -06:00
Daniel Bertalan
6c4e0e8549
Tests: Stop invoking UB in AK::NeverDestroyed
's tests
...
Instead of attempting a stack use-after-free by reading an out-of-scope
object's data member, let's keep a flag that checks if the destructor
had been called in the outer scope.
2024-06-06 13:01:12 +02:00
dgaston
edb10aa17a
Chess: Add time controls
...
This commit adds functionality to the new game dialog to allow time
controls to be selected. The game logic is updated to take into account
losing on time, time bonuses for moves, and exporting the time control
to PGN.
2024-06-05 20:45:38 -04:00
dgaston
215d348600
Chess: Add new game widget
...
This change paves the way for adding options such as time controls and
variants when creating a new game.
2024-06-05 20:45:38 -04:00
brody-qq
6f6966fb55
Kernel: Remove redundant VERIFY()
...
Removes a VERIFY() that is already checked earlier in the function
2024-06-05 20:18:44 +01:00
Jamie Mansfield
aa627454da
LibWeb/Fetch: Update "HTTP fetch" algorithm to latest spec comments
...
The spec and implementation's comments had diverged a little, this
brings them in line :)
2024-06-05 05:04:11 +01:00
Jamie Mansfield
bf8c6f939e
LibWeb: Move NetworkPartitionKey into a header
...
This is used elsewhere, such as the HTMLLinkElement.
2024-06-05 05:02:55 +01:00
Jamie Mansfield
82fba65faa
LibWeb: Implement HTMLImageElement.crossOrigin
2024-06-05 05:02:55 +01:00
Jamie Mansfield
5adce08003
LibWeb: Implement HTMLLinkElement.crossOrigin
2024-06-05 05:02:55 +01:00
Jamie Mansfield
f888d42a33
LibWeb: Implement HTMLLinkElement.fetchPriority
2024-06-05 05:02:55 +01:00
Jamie Mansfield
148eeff94c
LibWeb: Update "create a link request" for spec changes
...
Fetch priority is added, and one line is split into two :)
2024-06-05 05:02:55 +01:00
Jamie Mansfield
054e3698e2
LibWeb: Implement HTMLScriptElement.fetchPriority
2024-06-05 05:02:55 +01:00
Jamie Mansfield
5ae9b49099
LibWeb: Implement HTMLImageElement.fetchPriority
2024-06-05 05:02:55 +01:00
Jamie Mansfield
2b5c3886d9
LibWeb: Add from_string function for request priority
2024-06-05 05:02:55 +01:00
Jamie Mansfield
d74efab59c
LibWeb: Add IDL enum for fetch priority attribute
2024-06-05 05:02:55 +01:00
Andrew Kaster
848b115c6f
Meta: Add Nico Weber to the list of maintainers :^)
2024-06-03 10:47:03 -06:00
Diego
a11b274798
LibWasm: Fix memarg multi-memory reading
...
The extension bit for the memory index present in memargs is at
position 6, but we previously checked position 5, which caused a few
spec issues.
2024-06-03 14:55:41 +02:00
Andreas Kling
8e9f665c3c
Meta: Remove myself as BDFL :^)
2024-06-03 11:24:00 +02:00
Matthew Olsson
44bb6e8390
LibWeb: Handle the cssFloat and cssOffset keyframe properties properly
2024-06-03 10:53:32 +02:00
Matthew Olsson
36ceaf38d5
LibWeb: Check for nullish objects in process_a_keyframe algorithm
2024-06-03 10:53:32 +02:00
Matthew Olsson
37ee45db3d
LibWeb: Use camelCase for JS keyframe objects
2024-06-03 10:53:32 +02:00
Matthew Olsson
74840de7fc
LibWeb: Generate a method to get camel-cased CSS property names
2024-06-03 10:53:32 +02:00
Matthew Olsson
b5c682bc2e
LibWeb: Copy the keyframes in KeyframeEffect's copy constructor
2024-06-03 10:53:32 +02:00
Matthew Olsson
5b84bd6e45
LibWeb: Add DocumentOrShadowRoot::get_animations()
2024-06-03 10:53:32 +02:00
Matthew Olsson
37322baf54
LibWeb: Ensure all DocumentTimeline objects have the same time value
...
The DocumentTimeline constructor used the current millisecond time to
initialize its currentTime, but that means that a newly created timeline
would always have a different time value than other timelines that have
been through the update_animations_and_send_events function.
2024-06-03 10:53:32 +02:00
Nico Weber
4e9480b719
LibGfx/WebP: Add a VERIFY() for an assumption
...
This should have no behavior change after the previous commit.
2024-06-03 07:48:53 +02:00
Nico Weber
857750dfed
LibGfx/WebPLoader: Survive calling loop_count() before other accessors
...
Fixes `animation` asserting when reading a webp input.
(The other order of operations is still covered by TestImageWriter.cpp.)
2024-06-03 07:48:53 +02:00
Kenneth Myhra
de883d6621
Ports: Update freeciv to version 3.1.1
...
Sets '--enable-fcdb=no'. The default has been changed from 'no' in
previous versions to 'sqlite3' in this version.
2024-06-03 00:01:26 +02:00
Kenneth Myhra
df0890a1fb
Ports: Format freeciv's package script
...
This formats freeciv's package script according to our ruleset.
2024-06-03 00:01:26 +02:00
Timothy Flynn
d4734e920c
Meta: Define HAVE_QT when building WebContent for Qt in the GN build
...
For some reason, WebContent fails to load simple sites like xkcd.com
without the Qt event loop, even when using RequestServer instead of the
Qt networking stack. The CMake build on Linux has the same issue if we
skip installing the Qt event loop. It's not clear why this is - whether
something depends on the Qt event loop, or if there's a bug in the Unix
event loop implementation.
This is, however, also needed to use the --enable-qt-networking feature.
2024-06-02 15:52:28 -04:00
Timothy Flynn
951aa44f87
Meta: Use the host CXX tool for linking as well
...
For example, if you set host_cxx=clang in your args.gn, we would still
use GCC for linking. This matches the CMake build now.
2024-06-02 15:52:28 -04:00
Timothy Flynn
847ee6e266
Meta: Do not launch linker commands with ccache
2024-06-02 15:52:28 -04:00
Timothy Flynn
017009437d
Meta: Update compilation flags in the GN build to match the CMake build
2024-06-02 15:52:28 -04:00
Andreas Kling
3020c5766e
LibGfx: Remove unnecessary use of LibGUI in Gfx::Palette
...
Let's not require a cross-library badge like this.
2024-06-02 20:26:56 +02:00
Andreas Kling
09980af4ea
LibWeb: Add Web::UIEvents::MouseButton enum, drop dependency on LibGUI
...
This was the only thing LibWeb needed from LibGUI, and we can just
duplicate the enum in LibWeb and get rid of a bogus dependency.
2024-06-02 20:24:42 +02:00
Andreas Kling
3e46874858
LibSyntax: Remove minor unnecessary use of LibGUI
...
This was the only stuff that made it look like LibSyntax depends on
LibGUI, when it really doesn't.
2024-06-02 20:00:29 +02:00
Jamie Mansfield
295c4ef51a
LibWeb/Fetch: Use MimeType in DataURL
2024-06-02 19:55:53 +02:00
Jamie Mansfield
2b59ba19e0
LibWeb/WebSockets: Use correct URL parser
2024-06-02 19:55:53 +02:00
Jamie Mansfield
48e834918a
LibWeb/SVG: Implement SVGTransformList.numberOfItems
2024-06-02 19:55:53 +02:00
Jamie Mansfield
4a1d02e7d8
LibWeb/SVG: Implement SVGTransformList.length
2024-06-02 19:55:53 +02:00
Diego
ad9457b725
LibWasm: Properly check memory.copy
addresses
...
Prevents overflow when checking that `memory.copy` addresses are valid.
This prevents a potential crash in the VM.
2024-06-02 19:45:54 +02:00
Diego
308592969c
LibWasm: Properly check table bounds in element instantiation
...
Offset is now checked using saturating addition to avoid overflow. This
prevents a crash in the VM during instantiation.
2024-06-02 19:31:25 +02:00
Diego
2fabbae0f6
LibWasm: Properly check active data segment offset in instantiation
...
Before, it was possible to crash the VM during instantiation when an
active data segment requested to put data in memory at an invalid
offset.
2024-06-02 19:30:40 +02:00
Andreas Kling
ae90e26315
LibJS/Bytecode: Make constant deduplication a bit smarter
...
Instead of scanning through the list of seen constants, we now have a
more structured storage of the constants true, false, null, undefined,
and every possible Int32 value.
This fixes an O(n^2) issue found by Kraken/json-stringify-tinderbox.js
2024-06-02 16:34:08 +02:00
Andreas Kling
044539c60b
LibJS/Bytecode: Rewrite Jump-to-Return-or-End as just Return or End
...
Instead of wasting time jumping to a shared Return or End instruction,
we can also emit a Return or End directly in many cases.
2024-06-02 16:34:08 +02:00
Andreas Kling
7971cfdd89
LibJS/Bytecode: Move bytecode operand rewriting to a separate pass
...
This way we don't have to do it whenever performing some kind of
instruction rewrite.
2024-06-02 16:34:08 +02:00
Andreas Kling
97983275bc
LibJS/Bytecode: Perform constant folding on binary expressions
...
This turns expressions like `(2 + 3) * 8 / 2` into a constant (20)
at bytecode compilation time instead of generating instructions
to calculate the value.
2024-06-02 16:34:08 +02:00