Commit graph

37179 commits

Author SHA1 Message Date
EWouters 4cf67063c0 Ports/libatomic_ops: Update libatomic_ops to version 7.6.12 2022-04-11 19:43:56 -07:00
EWouters cf0798158a Ports/klong: Update klong to version 20220315
Upgrade patch to git style, add ReadMe.md and remove from the list of
ports missing descriptions.
2022-04-11 19:43:56 -07:00
EWouters d59694b864 Ports/imagemagick: Update imagemagick to version 7.1.0-29 2022-04-11 19:43:56 -07:00
EWouters 149428041b Ports/hatari: Update hatari to git commit 6a86f05 2022-04-11 19:43:56 -07:00
EWouters 9a4d100913 Ports/gsl: Update gsl to version 2.7.1 2022-04-11 19:43:56 -07:00
EWouters 12b9bf826d Ports/grep: Update grep to version 3.7 2022-04-11 19:43:56 -07:00
EWouters 0e08aa7e10 Ports/genemu: Update genemu to git commit e39f690 2022-04-11 19:43:56 -07:00
EWouters 769615fc48 Ports/gawk: Update gawk to version 5.1.1
The patch for config.sub is no longer required.

This also removes gawk from the list of ports missing descriptions as
it no longer has any patches.
2022-04-11 19:43:56 -07:00
EWouters 61768c732a Ports/freetype: Update freetype to version 2.12.0 2022-04-11 19:43:56 -07:00
EWouters e20d7788ec Ports/fontconfig: Update fontconfig to version 2.14.0 2022-04-11 19:43:56 -07:00
EWouters e9d8e0e03e Ports/flatbuffers: Update flatbuffers to version 2.0.0 2022-04-11 19:43:56 -07:00
EWouters e6172445e2 Ports/ed: Update ed to version 1.18 2022-04-11 19:43:56 -07:00
EWouters 8828b038f5 Ports/diffutils: Update diffutils to version 3.8
The fnmatch patch that was added in 6de6dff is reverted because it is
not clear why it is necessary, as discussed in #9206.

This also removes diffutils from the list of ports missing descriptions
as it no longer has any patches.
2022-04-11 19:43:56 -07:00
EWouters 8a84a03850 Ports/dialog: Update dialog to version 1.3-20220117 2022-04-11 19:43:56 -07:00
EWouters 33343998f4 Ports/ccache: Update ccache to version 4.6 2022-04-11 19:43:56 -07:00
EWouters 72d5a19db3 Ports/ca-certificates: Update ca-certificates to version 2022-03-29 2022-04-11 19:43:56 -07:00
EWouters 67ce82ba97 Ports/c-ray: Update c-ray to git commit 8f30eb9
Part of the fix-linkage patch is removed as the changes are no
longer required.
2022-04-11 19:43:56 -07:00
EWouters 711e317bd5 Ports/byacc: Update byacc to version 20220128 2022-04-11 19:43:56 -07:00
EWouters aa0f356a81 Ports/brogue: Update brogue to version 1.10.1
Also preserve the `-j$(nproc)` flag.
2022-04-11 19:43:56 -07:00
EWouters 7952af9b6d Ports/bc: Update bc to version 5.2.3
Also added the recommended CFLAGS.
2022-04-11 19:43:56 -07:00
Jelle Raaijmakers 4c1d8a7785 LibSoftGPU: Optimize clipping code
Three optimizations are applied:

1. If the list of vertices to clip is empty, return immediately after
   clearing the output list.

2. Remember the previous vertex instead of recalculating whether it is
   within the clip plane.

3. Instead of copying and swapping lists around, operate on the input
   and output lists directly. This prevents a lot of `malloc`/`free`
   traffic as a result of vector assignments.

This takes the clipping code CPU load from 3.9% down to 1.8% for
Quake 3 on my machine.
2022-04-11 19:31:23 -07:00
Jelle Raaijmakers 60fccdbd71 LibSoftGPU: Remove superfluous braces in Clipper 2022-04-11 19:31:23 -07:00
Tim Schumacher a1686db2de Kernel: Skip setting region name if none is given to mmap
This keeps us from accidentally overwriting an already set region name,
for example when we are mapping a file (as, in this case, the file name
is already stored in the region).
2022-04-12 01:52:21 +02:00
Linus Groh 00b8ce4a6d LibJS: Pass this value to fallback func in Array.prototype.toString()
The existing code looks innocently correct, implementing the following
step:

    3. If IsCallable(func) is false, set func to the intrinsic function
       %Object.prototype.toString%.

as

    return ObjectPrototype::to_string(vm, global_object);

However, this misses the fact that the next step calls the function with
the previously ToObject()'d this value (`array`):

    4. Return ? Call(func, array).

This doesn't happen in the current implementation, which will use the
unaltered this value from the Array.prototype.toString() call, and make
another, unequal object in %Object.prototype.toString%. Since both that
and Array.prototype.toString() do a Get() call on said object, this
behavior is observable (see newly added test).

Fix this by actually doing what the spec says and calling the fallback
function the regular way.
2022-04-12 00:23:27 +01:00
djwisdom 2af869d018 Base: Add new dark theme alternative 2022-04-12 00:00:30 +01:00
Luke Wilde c32dcf7f75 LibJS: Update ZonedDateTime AO spec comments for structured headers
This is an editorial change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/01714a5
2022-04-11 23:47:02 +01:00
Andreas Kling b3d85afd92 LibWeb: Make Layout::Box::set_needs_display() work for all boxes
For inline-blocks and inline replaced elements, we previously fell into
a code path that tried to find a corresponding line box fragment to
invalidate. However, we don't need to do any of that, all we need to do
is get the absolute rect from our paintable, and invalidate that.

This makes CRC2D invalidations happen immediately instead of as a side
effect of some other invalidation.
2022-04-12 00:11:48 +02:00
Linus Groh 7e18d1c078 LibJS: Remove unused include from AbstractOperations.cpp 2022-04-11 21:34:57 +01:00
Linus Groh 24d772af7c LibJS: Move additional notes to spec comments onto their own line
Having all spec comments verbatim on their own line with no additions
made by us will make it easier to automate comparing said comments to
their current spec counterparts.
2022-04-11 21:32:37 +01:00
Luke Wilde 90f14de1e9 LibJS: Call HostEnsureCanCompileStrings in CreateDynamicFunction
I noticed we were missing this when I added to PerformEval :^)
2022-04-11 21:23:36 +01:00
Luke Wilde 7798821f5b LibJS: Add tests for the new steps added to PerformEval 2022-04-11 21:23:36 +01:00
Luke Wilde 34f902fb52 LibJS: Add missing steps and spec comments to PerformEval
While adding spec comments to PerformEval, I noticed we were missing
multiple steps.

Namely, these were:
- Checking if the host will allow us to compile the string
  (allowing LibWeb to perform CSP for eval)
- The parser's initial state depending on the environment around us
  on direct eval:
   - Allowing new.target via eval in functions
   - Allowing super calls and super properties via eval in classes
   - Disallowing the use of the arguments object in class field
     initializers at eval's parse time
- Setting ScriptOrModule of eval's execution context

The spec allows us to apply the additional parsing steps in any order.
The method I have gone with is passing in a struct to the parser's
constructor, which overrides the parser's initial state to (dis)allow
the things stated above from the get-go.
2022-04-11 21:23:36 +01:00
Andreas Kling f4f850aaf2 LibWeb: Support CSSRule.type
We already had the CSSRule::Type enum, but the values were not aligned
with the CSSOM spec. This patch takes care of that, and then exposes
the type of a CSSRule to JavaScript via the "type" attribute.
2022-04-11 21:10:08 +02:00
Andreas Kling a0ba49a50a LibWeb: Support CSSStyleDeclaration.getPropertyPriority() 2022-04-11 21:10:07 +02:00
Andreas Kling a8afb883c1 LibWeb: Implement CSS declaration block's "updating flag"
This flag is used to prevent reparsing the style attribute after it is
automatically updated after using the CSSOM API to mutate style.
2022-04-11 21:10:07 +02:00
Andreas Kling 66618a666b LibWeb: Implement CSSStyleDeclaration.{set,remove}Property close to spec
We already had setProperty() but it was full of ad-hoc idiosyncracies.
This patch aligns setProperty() with the CSSOM spec and also implements
removeProperty() since that's actually needed by setProperty() now.

Some things fixed by this:
- We now support the "priority" parameter to setProperty()
- Element "style" attributes now update to reflect CSSOM mutations
2022-04-11 21:10:07 +02:00
Simon Danner 9ad9c72827 LibGfx: Draw complex emojis correctly
Previously draw_text_run only passed a single code point to
draw_glyph_or_emoji. This lead e.g. to broken unicode flag support.
Improve this by passing along the code_point iterator, so the emoji code
can detect the correct emojis and advance it as needed.
2022-04-11 21:09:52 +02:00
Sam Atkins f64ff945b2 env: Use Core::System::exec() 2022-04-11 21:09:42 +02:00
Sam Atkins f0aba519c3 Utilities: Read positional arguments as Strings not char*s
This is a pretty trivial change so they're all batched together.
2022-04-11 21:09:42 +02:00
Sam Atkins 84b67754c0 Shell: Read script arguments as Strings instead of char*s
This saves work in places that previously had to create a
`Vector<String>` anyway, or repeatedly cast the char* to a String.
Plus, Strings are nicer than char*. :^)
2022-04-11 21:09:42 +02:00
Sam Atkins 1ac6c4df72 strace: Use Core::System::exec() 2022-04-11 21:09:42 +02:00
Sam Atkins 3e5b1b1dbc LibCore: Add ArgsParser::add_positional_argument(Vector<String>&, ...) 2022-04-11 21:09:42 +02:00
Sam Atkins b81a3a6f0e profile: Use Core::System::exec() 2022-04-11 21:09:42 +02:00
Sam Atkins eb857e45dc HackStudio: Use Core::System::exec() 2022-04-11 21:09:42 +02:00
Sam Atkins 88800e8f32 FileManager: Use Core::System::exec() 2022-04-11 21:09:42 +02:00
Sam Atkins d2b32924d6 pls: Use Core::System::exec() 2022-04-11 21:09:42 +02:00
Sam Atkins 3971f71235 Terminal: Use Core::System::exec() 2022-04-11 21:09:42 +02:00
Sam Atkins 5a47b74227 paste: Use Core::System::{exec,setenv} 2022-04-11 21:09:42 +02:00
Sam Atkins 32ab09a930 LibCore: Add a wrapper for execvpe() and friends
This is a single function, which behaves like the various LibC exec()
functions depending on the passed parameters. No direct equivalent is
made for execl() - you have to wrap your arguments in a Span of some
kind.

On Serenity, this calls the syscall directly, whereas Lagom forwards to
the appropriate LibC function.
2022-04-11 21:09:42 +02:00
Linus Groh b4c6fd51be LibJS: Use single page spec link for BoundFunctionCreate 2022-04-11 19:44:56 +01:00