summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-01-16LibLine: Do a whole bunch of internal error propagationTim Schumacher
2023-01-16LibLine: Port most functions to `Core::Stream`Tim Schumacher
2023-01-16LibVirtGPU: Port to `Core::Stream`Lucas CHOLLET
2023-01-16LibCore: Add `Stream::File::fd()`Lucas CHOLLET
Unlike `leak_fd()` the stream is still owning the file descriptor after the call.
2023-01-16Spreadsheet: Port to `Core::Stream`Lucas CHOLLET
It also takes advantage of the new, `Core::Stream`-friendly, interface in `LibFileSystemAccessClient`.
2023-01-16Spreadsheet: Port from `Result` to `ErrorOr`Lucas CHOLLET
2023-01-16Spreadsheet: Move to a non-owning model for `Stream` in `Writer::XSV`Lucas CHOLLET
2023-01-16LibJS: Port trivial use cases in the Intl namespace to StringTimothy Flynn
2023-01-16LibLocale: Add a method to convert LanguageID to a StringTimothy Flynn
2023-01-16LibJS: Port StringIterator to StringTimothy Flynn
2023-01-16LibJS: Port the TrimString AO to StringTimothy Flynn
This also adds spec comments to parseFloat to make it clear that we are now deviating a bit from the spec (the TrimString invocation should be infallible, but we want to propagate OOM errors).
2023-01-16LibJS: Add a convenience StringView accessor to PrimitiveStringTimothy Flynn
2023-01-16AK: Export the OptionalNone helper structureTimothy Flynn
2023-01-16LibJS: Fix uninitialized member variable in DurationFormatBrian Gianforcaro
Reported-by: PVS Studio
2023-01-16Kernel: Fix uninitialized member variable in FATFS FilesystemBrian Gianforcaro
Reported-by: PVS Studio
2023-01-16Meta: Disable PVS Studio v1052 static analysis rule in github actionsBrian Gianforcaro
This rule conflicts with the projects style guide, and ends up being just a bunch of unnecessary noise. So lets just suppress it.
2023-01-16LibWeb: Prevent floats from being placed higher than preceding blocksAliaksandr Kalenik
CSS 2.2 section 9.5.1: The outer top of a floating box may not be higher than the outer top of any _block_ or floated box generated by an element earlier in the source document. Where block is `BlockContainer` in LibWeb type system. Which means `current_boxes` need to be cleared before leaving block container. ```html <style> .wrapper { width: 100px; height: 300px; background-color: lightgray; } .box { margin: 10px; width: 50px; height: 50px; float: left; } .a { background-color: salmon; } .b { background-color: slateblue; } .c { background-color: green; } </style> <div class="wrapper"> <div class="box a"></div> <div class="box b"></div> </div> <div class="box c"> </div> ```
2023-01-16Meta: Add myself to CODEOWNERSBrian Gianforcaro
2023-01-16Presenter: Disable "Next" and "Previous" actions when non-applicableLucas CHOLLET
2023-01-16Presenter: Add `Presentation::has_a_[next,previous]_frame()`Lucas CHOLLET
2023-01-15LibIPC: Decode messages using Core::Stream internallyTim Schumacher
2023-01-15AK: Define our own concept of "trivially serializable"Tim Schumacher
While at it, rename the `read_trivial_value` and `write_trivial_value` functions to `read_value` and `write_value` respectively, since we'll add compatibility for non-trivial types down the line.
2023-01-15LibCore: Fix up type mistakes in `Stream::read_trivial_value`Tim Schumacher
2023-01-15AK+Test: Fix a logic error in `CircularBuffer::offset_of()`Lucas CHOLLET
This error was introduced by 9a7accdd and had a significant impact on `BufferedFile` behavior. Hence, we started seeing crash in test262. By itself, the issue was a wrong calculation of the internal reading spans when using the `read` and `until` parameters. Which can lead to at worse crash in VERIFY and at least weird behaviors as missed needles or detections out of bounds. It was also accompanied by an erroneous test. This patch fixes the bug, the test and also provides more tests.
2023-01-15LibJS: Remove redundant ToString from ToTemporalZonedDateTimeBodilessSleeper
Assert that the type of offsetString is either undefined or string in order to avoid unnecessary ToString Temporal commit: tc39/proposal-temporal@24ebcbd
2023-01-15LibJS: Assert TemporalDateTimeToString if showCalendar is "never"BodilessSleeper
The only part of TemporalDateTimeToString that can fail is MaybeFormatAnnotateCalendar which cannot fail if showCalendar is "never" as it simply makes an empty string. Temporal commit: tc39/proposal-temporal@a1faee6
2023-01-15LibGfx: Prevent reading OOB in TGA header decodeJelle Raaijmakers
2023-01-15ClipboardHistory: Add a Clear history actionTim Ledbetter
This clears the history from the table view and clears the clipboard.
2023-01-15ClipboardHistory: Ensure model is populated on startupTim Ledbetter
This ensures that, if the applet restarts, it will remain in sync with the clipboard.
2023-01-15ClipboardHistory: Update clipboard when the topmost item is deletedTim Ledbetter
2023-01-15ClipboardHistory: Don't attempt to delete an item if nothing is selectedTim Ledbetter
This prevents a crash if the delete action is invoked using the delete key while nothing is selected.
2023-01-15ClipboardHistory: Invalidate model on item removalTim Ledbetter
Not doing this caused the window to not update until the mouse was clicked again.
2023-01-15ls: Add an option to print the human readable sizes in powers of 10Arda Cinar
2023-01-15du: Add an option to print the human readable sizes in powers of 10Arda Cinar
2023-01-15df: Add an option to print the human readable sizes in powers of 10Arda Cinar
2023-01-15PixelPaint: Hold shift to increase move tool speed with the arrow keysTim Ledbetter
Holding shift while using the move tool with the arrow keys now moves the selected layer in 10 pixel increments.
2023-01-15Spider: Confirm ending the current game in more situationsSam Atkins
As for Solitaire, we previously had a warning when trying to exit Spider while a game was in progress. This adds the same functionality to other actions that would end the current game: Starting a new one, or changing the number of suits. When changing the number of suits, we do apply the setting, so it will take effect for the next game that is started.
2023-01-15Solitaire: Confirm ending the current game in more situationsSam Atkins
We previously had a warning when trying to exit Solitaire while a game was in progress. This adds the same functionality to other actions that would end the current game: Starting a new one, or changing the number of cards drawn. When changing the number of cards drawn, we do apply the setting, so it will take effect for the next game that is started.
2023-01-15WidgetGallery: Use the non-deprecated API of `LibFileSystemAccessClient`Lucas CHOLLET
The patch is tiny as WidgetGallery is only using `LibFSAC` for its file picker.
2023-01-15Utilities: Add new utility for converting images to raw bitmap binariesLiav A
I used this utility to check if the possible TGA images' cases for different origins (explictly the Y origin) are generating the same bitmap, as I felt that my eyes are not a good-enough measurement tool for this kind of task. This might be useful in the future for testing other implementations so I rather have this nice utility in our codebase.
2023-01-15Lagom/Fuzzers: Add fuzzer for the TGALoader codeLiav A
2023-01-15Tests/LibGfx: Add tests for compressed TGA imagesLiav A
2023-01-15LibGfx: Add support for RLE compressed TGA imagesLiav A
RLE is an old technique being used for decades, as is known as Run-Length-Encoding, which means that for repeating sequence of bytes, we keep an indicator for the length of the sequence and only one sample of it, to save storage space. GIMP can generate lossless-compressed TGA images, with RLE compression being used. It means that for a compressed image, the data is no longer arranged in sequence of pixels, but a sequence of pixel packets. There are two possible pixel packets: - RLE packets, which are encoded with one byte for indicating the run-length and another one pixel (3 bytes for TrueColor pixel), so essentially in runtime, the TGA decoder will use the length to plot the same pixel in multiple pixels of the output pixel bitmap. - Raw packets, which are encoded with one byte as indicator for the length of the whole pixel sequence and N-length pixel sequence afterwards. This is not used for any sort of compression by the TGA format, but still needed to be supported for full compatibility with TGA images that uses the RLE compression.
2023-01-15Tests/LibGfx: Add tests for top-left and bottom-left TGA imagesLiav A
2023-01-15LibGfx: Handle tga images with top-left and bottom-left orientationLiav A
GIMP allows a user to export a TGA image with either of these possible orientations, so we can easily support it by looking at the X origin and Y origin values to determine where to put the pixels in the bitmap.
2023-01-15Base: Add ImageViewer as the default app to open TGA files :^)Tom Needham
This patch allows .tga files to be opened by ImageViewer automatically when selected in FileManager
2023-01-15LibGfx: Add the TGA format into the list of bitmap formats :^)Tom Needham
2023-01-15LibGfx: Plumb the TGALoader into ImageDecoder :^)Tom Needham
This patch plumbs the TGALoader into ImageDecoder so TGA images can be decoded by the system
2023-01-15LibGfx: Add TGA Loader :^)Tom Needham
This patch adds a basic TGA Loader. Currently it can only handle uncompressed files with a bit depth of 24 or 32 bits per pixel.
2023-01-15hexdump: Add an option to specify dump offsetArda Cinar
This is very helpful when trying to make sense of large binary files :^)