summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-17Ports/dmidecode: Remove install and post_install overriden sequencesLiav A
We used to do whole bunch of unnecessary things in the install sequence which the default port_include script sequence can do just fine, therefore the install sequence is removed from the port script. The post_install sequence wrongly called "make install-bin" which could be done in the default install sequence, as well as to create the /bin directory which is completely unnecessary to do because the image build script already does that for us. Also, now /usr/local/bin is in the PATH environment variable, so the installed binaries are runnable without creating symlinks in the /bin directory, therefore making the sequence of post_install completely unnecessary in the script so it is removed too.
2022-10-17WindowServer: Add wallpaper backing bitmapChun Ngai Au
Fixes inconsistencies in redrawing the wallpaper when in stretch mode by first drawing to a backing bitmap. To reduce unnecessary allocations, the backing bitmap is only used for stretch mode.
2022-10-17Base: Add more emojiTobias Lundberg
🐭 - U+1F42D mouse face 🦔 - U+1F994 hedgehog 🦤 - U+1F9A4 dodo 🦩 - U+1F9A9 flamingo 🦭 - U+1F9AD seal
2022-10-17Ports: Add potrace utility portLiav A
2022-10-17LibC: Do an explicit static_cast in the fgetc functionLiav A
We assumed that by returning a char in the fgetc function that an implicit cast is sufficient, but apparently if that char contains 0xff, the result int will be -1 (0xFFFFFFFF). To ensure this does not happen, let's do an explicit casting.
2022-10-17Ports: Add tree utility portLiav A
2022-10-17SpiceAgent: Add unveil call on the /proc/all node pathLiav A
This is needed later in the program when doing unveil on the path of "/tmp/session/%sid/portal/clipboard", because %sid is translated to the root session ID which therefore relies on access to the /proc/all node.
2022-10-16Meta: Start moving common shell definitions into a common fileTim Schumacher
2022-10-16Meta: Allow shellcheck to search sourced files in the script directoryTim Schumacher
2022-10-16Meta: Define `SUDO` for all the image building scriptsTim Schumacher
Back when adding support for `pls` as a `sudo` replacement, `build-image-qemu` dynamically set the `SUDO` variable depending on what system it was running on and used the contents of that variable to call the correct elevation utility. During recent changes to the elevation error message, that usage of the variable was replicated across all of our scripts, but without also replicating the logic to set that variable in the first place. Add back the variable setting logic to all the other scripts to keep them from running into unset variables.
2022-10-16LibThreading: Only set pthread name on SerenityAndrew Kaster
pthread_setname_np is a can of worms for portability. Linux, macOS, and the BSDs all do it differently. Also skip adding the tid as an inspectable Core::Object property on systems where pthread_t is known to be a pointer.
2022-10-16AK: Document the non-standard extensions in TRYPaul Herman
I'm not sure there's a material improvement from this patch. However, I've been reading the error handling code from multiple projects and was excited to see Serenity being able to handle assignment (`auto x = TRY(make_x())`) the same way as actions (`TRY(do_x())`). I think it's worth documenting that this is only possible due to non-standard extensions.
2022-10-16Meta: Remove unused "prefix" variable from invoke_generator() helperTimothy Flynn
This became unused after 1ae0cfd.
2022-10-16LibGL: Immediately dereference vertex attribute data in display listsJelle Raaijmakers
According to the spec, pointers to client data need to be dereferenced immediately when adding calls such as `glDrawElements` or `glArrayElement` to a display list. We were trying to support display lists for these calls but since they only invoke _other_ calls that also support display lists, we can simply defer the display list functionality to them. This fixes the rendering of the ClassiCube port by cflip.
2022-10-16LibWeb: Add missing body has_value() check in XMLHttpRequest::send()Linus Groh
2022-10-16Meta: Print error if cmake does not existdemostanis
2022-10-16Kernel: Use more fine-grained content data block granularity in TmpFSLiav A
Instead of just having a giant KBuffer that is not resizeable easily, we use multiple AnonymousVMObjects in one Vector to store them. The idea is to not have to do giant memcpy or memset each time we need to allocate or de-allocate memory for TmpFS inodes, but instead, we can allocate only the desired block range when trying to write to it. Therefore, it is also possible to have data holes in the inode content in case of skipping an entire set of one data block or more when writing to the inode content, thus, making memory usage much more efficient. To ensure we don't run out of virtual memory range, don't allocate a Region in advance to each TmpFSInode, but instead try to allocate a Region on IO operation, and then use that Region to map the VMObjects in IO loop.
2022-10-16Base: Add a PDF document to test Adobe Type 1 font renderingJulian Offenhäuser
It also tests a subset of PDF version 1.5 functionality, such as compressed object streams.
2022-10-16LibPDF: Add very basic support for Adobe Type 1 font renderingJulian Offenhäuser
Previously we would draw all text, no matter what font type, as Liberation Serif, which results in things like ugly character spacing. We now have partial support for drawing Type 1 glyphs, which are part of a PostScript font program. We completely ignore hinting for now, which results in ugly looking characters at low resolutions, but gain support for a large number of typefaces, including most of the default fonts used in TeX.
2022-10-16LibPDF: Add glyph drawing and type info methods to PDFFontJulian Offenhäuser
A PDFFont can now be asked for its specific type and whether it is part of the standard 14 fonts. It now also contains a method to draw a glyph, which is stubbed-out for now. This will be useful for the renderer to take into consideration when drawing text, since we don't include replacements for the standard set of fonts yet, but still want to make use of embedded fonts when available.
2022-10-16LibPDF: Allow page objects to inherit the MediaBox and Resources entriesJulian Offenhäuser
2022-10-16LibPDF: Allow text operator sequences to start with whitespaceJulian Offenhäuser
2022-10-16LibPDF: Parse floating point numbers that omit a leading zero correctlyJulian Offenhäuser
2022-10-16SystemServer: Make system-mode=text the default in case of read failureLiav A
In case of failure when trying to read the system_mode global node, just use as a default the text mode, so we have bootable system with degraded functionality.
2022-10-16Kernel: Add more stubs needed for Thread.cppGunnar Beutner
2022-10-16Kernel: Don't directly include <Kernel/Arch/x86/TrapFrame.h>Gunnar Beutner
This adds a new arch-independent header which in turn includes the correct header for the build architecture.
2022-10-16Kernel: Add VALIDATE_IS_AARCH64 guard macroGunnar Beutner
2022-10-16Kernel: Replace VERIFY_NOT_REACHED with TODO_AARCH64Gunnar Beutner
This makes it easier to differentiate between cases where certain functionality is not implemented vs. cases where a code location should really be unreachable.
2022-10-16Fuzzers: Add fuzzer for the Tar parserIdan Horowitz
2022-10-16LibJS: Add spec comments to RegExpObjectLinus Groh
Also fix the evaluation order of ToString for pattern and flags while we're here, and improve some of the variable names.
2022-10-16LibJS: Add spec comments to RegExpConstructorLinus Groh
2022-10-16LibJS: Implement the RegExpAlloc AOLinus Groh
2022-10-16Meta: Add a few more e-mail addresses to the .mailmap fileGunnar Beutner
2022-10-16Kernel/SysFS: Expose file size of ACPI tables in /sys/firmware/acpiLiav A
It costs us nothing, and some utilities (such as the known file utility) rely on the exposed file size (after doing lstat on it), to show anything useful besides saying the file is "empty".
2022-10-16Kernel: Initialize primitive class member of ACPISysFSComponent to zeroLiav A
2022-10-16Lagom: Remove unecessary _lagom suffix from test and executable namesAndrew Kaster
We needed this back when we included Lagom into the main serenity build, but it has been unecessary since the superbuild.
2022-10-16CMake+Userland: Use CMakeLists from Userland to build Lagom LibrariesAndrew Kaster
Also do this for Shell. This greatly simplifies the CMakeLists in Lagom, replacing many glob patterns with a big list of libraries. There are still a few special libraries that need some help to conform to the pattern, like LibELF and LibWebView. It also lets us remove essentially all of the Serenity or Lagom binary directory detection logic from code generators, as now both projects directories enter the generator logic from the same place.
2022-10-16Meta: Use add_serenity_directory for LibTimeZoneAndrew Kaster
This lets us eliminate the "meta prefix" for the LibTimeZone generators.
2022-10-16Lagom+LibCore: Build LibCore, AK, and LibMain with add_subdirectoryAndrew Kaster
By deferring to the CMakeLists in each of these libraries' directories, we can get rid of a lot of curious GLOB patterns and list removals in the Lagom CMakeLists.
2022-10-16DynamicLoader: Use fewer GLOB patterns for arch-specific filesAndrew Kaster
There's still a GLOB pattern for the LibC assembly files, but orgaizing the patterns to use ${SERENITY_ARCH} instead of a big if-else chain makes the patterns easier to understand.
2022-10-16AK+Userland: Use a CMake variable for AK_SOURCES instead of GLOBAndrew Kaster
This lets us remove a glob pattern from LibC, the DynamicLoader, and, later, Lagom. The Kernel already has its own separate list of AK files that it wants, which is only a subset of all AK files.
2022-10-16WebDriver: Implement `GET /session/{id}/cookie/{name}` endpointTobias Christiansen
2022-10-16LibJS: Fix TemporalCalendarString ambiguityLinus Groh
This is a normative change in the Temporal spec. See: - https://github.com/tc39/proposal-temporal/commit/278d238 - https://github.com/tc39/proposal-temporal/commit/b73aea7
2022-10-16LibJS: Rename Get{IANA => Named}TimeZonePreviousTransitionLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/6b759d1
2022-10-16LibJS: Rename Get{IANA => Named}TimeZoneNextTransitionLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/4b0246a
2022-10-16LibJS: Change dateAdd to a required parameter of MoveRelativeDateIdan Horowitz
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/45d9079
2022-10-16LibJS: Add dateAdd to all remaining MoveRelativeDate callsIdan Horowitz
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/a48838a
2022-10-16LibJS: Add optional dateAdd parameter to MoveRelativeDateIdan Horowitz
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/891060f
2022-10-16LibJS: Add fast path TimeZone conversion to PlainDate#toZonedDateTimeLuke Wilde
This is a normative chane in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/fcab1af
2022-10-16LibJS: Remove extra property check from Instant#toZonedDateTimeISOLuke Wilde
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/7dfbd80