Commit graph

42527 commits

Author SHA1 Message Date
krutalevex 6d2ea087a5 Ports: Update RetroArch + SDL2_sound 2022-10-27 13:16:59 +02:00
Beckett Normington 3c76f58999 Base: Add elephant emoji (U+1F418)
Emoji added:
🐘 - U+1F418 ELEPHANT
2022-10-27 13:08:36 +02:00
Tim Schumacher 1d5dbd1b80 LibCore: Limit to the user buffer size when reading lines from a stream
Previously, this would cause an assert to fail if one reads a completely
buffered line into a buffer that is smaller than the Stream's internal
buffer.
2022-10-27 13:08:19 +02:00
Sam Atkins ff0a2b1a60 LibGfx+Everywhere: Make DisjointRectSet work for non-int Rects
For convenience, `DisjointIntRectSet` is an alias for
`DisjointRectSet<int>`, and is used everywhere for now.
2022-10-27 13:06:33 +02:00
Sam Atkins f52413a70e LibGfx: Move DisjointRectSet code into the header file
This is in preparation for converting it to a template. No changes here,
only moving code around.
2022-10-27 13:06:33 +02:00
Sam Atkins 6a4dde1d99 LibGfx: Correct Line::to_string() output
This looks like a copy-paste issue from Rect::to_string().
2022-10-27 13:05:16 +02:00
Sam Atkins 07bceb861a LibGfx: Make formatting of spatial types work with non-int/floats
Line, Point, Rect, and Size now all have Formatters that will work with
any type that itself has a Formatter.
2022-10-27 13:05:16 +02:00
Andreas Kling 27b63feae5 LibWeb: Always resolve horizontal padding and borders on block-level boxes
We were neglecting to resolve the used horizontal padding and border
properties on block-level boxes when treating their width as `auto`
during intrinsic sizing.

This led to padding and border not contributing to the intrinsic width
of their containing block
2022-10-27 13:02:27 +02:00
Andreas Kling 4580e054f5 LibWeb: Place block-level boxes in both axes before doing inside layout
This ensures that static position calculations has access to final
box offsets.
2022-10-27 13:02:27 +02:00
Andreas Kling 3e10293047 LibWeb: Implement static position for abspos children of flex container 2022-10-27 13:02:27 +02:00
Timothy Flynn bd592480e4 Meta: Replace Bash script for generating emoji.txt with C++ generator
We currently have two build-time parsers for the UCD's emoji-test.txt
file. To prepare for future changes, this removes the Bash parser and
moves its functionality to the newer C++ parser.
2022-10-27 12:59:56 +02:00
Timothy Flynn b5a876e606 Meta: Allow specifying additional dependencies with invoke_generator 2022-10-27 12:59:56 +02:00
Timothy Slater e73aeb4cea PixelPaint: Make scopes hideable
Vectorscope and Histogram are now hidden by default. New menu "Scopes"
allows for them to be toggled on/off.
2022-10-27 12:59:20 +02:00
kleines Filmröllchen 90d967baf1 Base: Document scheduler_{get,set}_parameters syscalls 2022-10-27 11:30:19 +01:00
kleines Filmröllchen 259bfe05b1 Kernel: Set priority of all threads within a process if requested
This is intended to reflect the POSIX sched_setparam API, which has some
cryptic language
(https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_08_04_01
) that as far as I can tell implies we should prioritize process
scheduling policies over thread scheduling policies. Technically this
means that a process must have its own sets of policies that are
considered first by the scheduler, but it seems unlikely anyone relies
on this behavior in practice. So we just override all thread's policies,
making them (at least before calls to pthread_setschedparam) behave
exactly like specified on the surface.
2022-10-27 11:30:19 +01:00
kleines Filmröllchen bbe40ae632 Kernel: Prevent regular users from accessing other processes' threads 2022-10-27 11:30:19 +01:00
kleines Filmröllchen 2477409680 Tests: Add pthread scheduler priority tests 2022-10-27 11:30:19 +01:00
kleines Filmröllchen 6dded99777 Kernel+LibC: Report correct scheduling priority limits
The priority range was changed several years ago, but the
userland-reported limits were just forgotten :skeleyak:. Move the thread
priority constants into an API header so that userland can use it
properly.
2022-10-27 11:30:19 +01:00
kleines Filmröllchen ce25bd8584 LibC: Implement pthread_{get,set}schedparam 2022-10-27 11:30:19 +01:00
kleines Filmröllchen b8567d7a9d Kernel: Make scheduler control syscalls more generic
The syscalls are renamed as they no longer reflect the exact POSIX
functionality. They can now handle setting/getting scheduler parameters
for both threads and processes.
2022-10-27 11:30:19 +01:00
kleines Filmröllchen 7bb34279cd LibC: Remove duplicate definition of sched_param from sched.h
We were lucky until now that nobody included both headers that have a
definition for this (identical) struct.
2022-10-27 11:30:19 +01:00
Kenneth Myhra 9b1dd57122 Ports: Update qemu to 7.1.0 2022-10-26 20:44:29 +01:00
Kenneth Myhra eaf2cfbb17 Ports: Update glib to 2.74.1 2022-10-26 20:44:29 +01:00
Kenneth Myhra 1e3b677fa4 Ports: Update curl to 7.86.0 2022-10-26 20:44:29 +01:00
Timon Kruiper 0475407f9f Kernel: Remove bunch of unused includes in SysFS/Processes.cpp 2022-10-26 20:01:45 +02:00
Timon Kruiper 8364135939 Kernel/aarch64: Unify building kernel source files in CMakeLists.txt
This now builds most of the kernel source files for both x86(_64) and
the aarch64 build. Also remove a bunch of stubbed functions. :^)
2022-10-26 20:01:45 +02:00
Timon Kruiper f661f1a674 Kernel: Move bar0_space_size declaration out of arch-specific ifdefs
This change allows this file to be built for aarch64.
2022-10-26 20:01:45 +02:00
Timon Kruiper 97f1fa7d8f Kernel: Include missing headers for various files
With these missing header files, we can now build these files for
aarch64.
2022-10-26 20:01:45 +02:00
Timon Kruiper fcbb6b79ac Kernel: Don't expose processor information for aarch64 in sysfs
We do not (yet) acquire this information for the aarch64 processors.
2022-10-26 20:01:45 +02:00
Timon Kruiper 32f4c8df6c Kernel: Stub more functions to progress aarch64 build 2022-10-26 20:01:45 +02:00
Timon Kruiper f9ab02429b Kernel: Use generic functions to change interrupt state of Processor
This allows these files to be built for aarch64.
2022-10-26 20:01:45 +02:00
Timon Kruiper acfeffc9ca Kernel/aarch64: Branch to local halt function instead of C++ one
The kernel image grew so much that it wasn't possible to jump to the C++
symbol anymore, since this generated a 'relocation truncated' error when
linking.
2022-10-26 20:01:45 +02:00
Timon Kruiper a47271ebdc Kernel: Move PAGE_MASK define to the shared CPU.h header
These are the same for both x86 and aarch64 for now. Also update some
include paths to use the generic CPU.h header.
2022-10-26 20:01:45 +02:00
Luke Wilde 5cc190ad70 LibWeb: Make Fetch::Request follow abort signals where appropriate 2022-10-26 18:49:41 +01:00
Luke Wilde dce6327ae7 LibWeb: Add the ability for an AbortSignal to follow another
Following another abort signal basically means to make an abort signal
abort when another abort signal is aborted, unless the following signal
is already aborted.
2022-10-26 18:49:41 +01:00
Luke Wilde 07e3bb729d LibWeb: Convert DOM::AbortSignal to use JS::SafeFunction
This protects the captured GC pointers automatically instead of
manually.
2022-10-26 18:49:41 +01:00
Timothy Flynn 67e396d931 GMLPlayground: Replace /proc/all unveil with /sys/kernel/processes
This was missed before commit dc5b28e26c.

Fixes #15809.
2022-10-26 18:41:11 +01:00
Timothy Flynn 006118599c Meta: Disallow emoji images with invalid code points in their file name 2022-10-26 18:40:20 +01:00
Timothy Flynn 23afb59a3d Base: Remove invalid U+1F5CBC emoji image
This code point is invalid. It was meant to be U+1F5BC, but we already
have an icon for that emoji.
2022-10-26 18:40:20 +01:00
Gunnar Beutner 288c46dbdc LibGUI: Make sure combobox list windows can't be moved
This is done by adding a new window type (Popup) and using it for the
combobox list window. Other incorrect uses of the Tooltip window type
have also been updated to use the new window type.
2022-10-26 17:02:00 +02:00
Linus Groh 419eb7ab97 LibWeb: Fix unchecked Variant access in Request::construct_impl()
We need to keep an Infrastructure::Request::BodyType around as we're not
sure what's actually inside, instead accessing Infrastructure::Body
directly.

Co-authored-by: Luke Wilde <lukew@serenityos.org>
2022-10-26 10:36:48 +01:00
Linus Groh 16136f0bdd LibWeb: Fix incorrect peek offset in HeaderList::get_decode_and_split()
We want to look at the current character, not the next one.
2022-10-26 10:36:48 +01:00
Linus Groh bc2ebcadc0 Everywhere: Require version >= 12 for GCC host compiler
So far we've gotten away with using GCC 11 for Lagom and to compile the
toolchain, but via #15795 we discovered a compiler bug that has been
fixed in the latest version but would error the build with CI's GCC 11.
Time for an upgrade :^)

We already use ubuntu-22.04 images in most places, so this is pretty
straightforward. The only exception is Idan's self-hosted runner, which
uses Ubuntu Focal. LibJS should build fine with GCC 11, still.
2022-10-25 23:15:51 +01:00
Luke Wilde 28bc3a76d9 LibWeb: Remove old assertion in host_enqueue_promise_job context hack
We no longer need to pull a global object from somewhere to push an
execution context onto the stack, so the assertion no longer makes
sense.
2022-10-25 22:54:07 +01:00
Liav A a0c41fc3f0 Base: Describe the moved SysFS power_state node in SysFS document 2022-10-25 15:33:34 -06:00
Liav A 75f01692b4 Kernel+Userland: Move /sys/firmware/power_state to /sys/kernel directory
Let's put the power_state global node into the /sys/kernel directory,
because that directory represents all global nodes and variables being
related to the Kernel. It's also a mutable node, that is more acceptable
being in the mentioned directory due to the fact that all other files in
the /sys/firmware directory are just firmware blobs and are not mutable
at all.
2022-10-25 15:33:34 -06:00
Liav A 8c21d974b2 Base: Remove all global entries from the ProcFS document 2022-10-25 15:33:34 -06:00
Liav A dc5b28e26c Kernel/ProcFS: Remove all unnecessary components
Now that all global nodes are located in the /sys/kernel directory, we
can safely drop the global nodes in /proc, which includes both /proc/net
and /proc/sys directories as well.
This in fact leaves the ProcFS to only have subdirectories for processes
and the "self" symbolic link to reflect the current process being run.
2022-10-25 15:33:34 -06:00
Liav A 1c5e09f789 Base: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A 9d1ba0e6ad Utilities: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00