summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-20LibWeb: Implement SVG opacity propertiesMacDue
This implements the stop-opacity, fill-opacity, and stroke-opacity properties (in CSS). This replaces the existing more ad-hoc fill-opacity attribute handling.
2023-05-20LibGfx: Add Color::with_opacity(float opacity)MacDue
This returns the color with its alpha scaled by the opacity.
2023-05-20LibWeb: Support <svg> elements with `display: block`Andreas Kling
There are a couple of things that went into this: - We now calculate the intrinsic width/height and aspect ratio of <svg> elements based on the spec algorithm instead of our previous ad-hoc guesswork solution. - Replaced elements with automatic size and intrinsic aspect ratio but no intrinsic dimensions are now sized with the stretch-fit width formula. - We take care to assign both used width and used height to <svg> elements before running their SVG formatting contexts. This ensures that the inside SVG content is laid out with knowledge of its viewport geometry. - We avoid infinite recursion in tentative_height_for_replaced_element() by using the already-calculated used width instead of calling the function that calculates the used width (since that may call us right back again).
2023-05-19Kernel: Enable data and instruction cache on aarch64Andrew Kaster
Enabling these will fix the Unsupported Exclusive or Atomic access data fault we get on bare metal Raspberry Pi 3. On A53/A57 chips (and newer), atomic compare-exchange operations require the data cache to be enabled.
2023-05-19Kernel: Update reset value and register names of SCTLR_EL1 per Arm ARMAndrew Kaster
Referencing ARM DDI 0487J.a, update the names of previously reserved fields, and set the reset_value() of the SCTLR_EL1 struct to reflect the defaults we want for this register on reboot.
2023-05-19Kernel: Check only for the first equal sign in the kernel command lineHediadyoin1
... key-value decomposition The RaspberryPi firmware will give us a value for the 'video' key that contains multiple equal signs: ``` video=HDMI-A-1:1920x1080M@30D,margin_left=48,margin_right=48,[...] ``` Instead of asserting that this only has one equal sign, let's just split it by the first one.
2023-05-20LibWasm: Change dir_fd to auto instead of intNiklas Poslovski
2023-05-19IPCCompiler: Nicer error message for invalid template spellingBen Wiederhake
2023-05-19LibCompress: Move two shared LZMA magic numbers into a common placeTim Schumacher
2023-05-19Fuzzers: Add a fuzzer for roundtrip LZMA compression/decompressionTim Schumacher
2023-05-19LibCompress: Handle arbitrarily long FF-chains in the LZMA encoderTim Schumacher
2023-05-19LibCompress: Add debug logging for handling LZMA direct bitsTim Schumacher
2023-05-19LookupServer: Prefer File::read_until_eof over DeprecatedFileBen Wiederhake
2023-05-19LibDebug: Prefer File::read_until_eof over DeprecatedFileBen Wiederhake
2023-05-19LibCore: Migrate Command from Deprecated{File,String}Ben Wiederhake
This gives us free error-propagation in Core::command(...) and HackStudio::ProjectBuilder::for_each_library_dependencies. The comment about "String will be in the null state" has been misleading for a long time, so it is removed.
2023-05-19LibCodeComprehension: Prefer File::read_until_eof over DeprecatedFileBen Wiederhake
Note that LibTest/Macros.h and therefore the macro TRY_OR_FAIL are not available, so using these would require some in-depth rework. release_value_but_fixme_should_propagate_errors should generate a reasonably obvious hint that the test didn't find some expected file. Note that I intentionally did not choose MUST(), since it should be a TRY_OR_FAIL() in some form.
2023-05-19SystemMonitor: Prefer File::read_until_eof over DeprecatedFileBen Wiederhake
Because MemoryStatsWidget::refresh is run nearly directly by the EventLoop, the only real alternative to crashing would be to cancel the update, and keep the old data. That doesn't sound sufficiently better to warrant being implemented.
2023-05-19Ports/dos2unix: Update to 7.5.0Nathan Ell
Version 7.5.0 adds two new arguments for the command line, to add a line break to the last line if one isn't present, and to write output to stdout.
2023-05-19aplay: Determine absolute path before raising the veilBen Wiederhake
This was a regression introduced in 25d2828e, #18807. In that commit, I forgot to investigate why the order of operations was so "weird", so I added a comment this time to prevent future regressions.
2023-05-19AK: Add FIXMEs to HashMap copy-construct and copy-assignBen Wiederhake
This underlines that we still copy-construct and copy-assign HashMaps. Primarily, this makes it easier to develop towards OOM-safe(r) internal data structures, by providing a reminder (the FIXME) and an easy error- checking switch (just change it to "delete" to see some of the errors).
2023-05-19LibWeb: Explicitly mark HashMap copyBen Wiederhake
2023-05-19LibUnicode: Explicitly mark HashMap copyBen Wiederhake
2023-05-19LibTLS: Avoid unnecessary HashMap copies, improve const-correctnessBen Wiederhake
2023-05-19LibPDF: Avoid unnecessary HashMap copy, mark other copiesBen Wiederhake
2023-05-19LibLocale: Avoid unnecessary HashMap copyBen Wiederhake
2023-05-19LibIPC: Explicitly mark HashMap copy, offer move interfaceBen Wiederhake
2023-05-19LibIDL: Avoid unnecessary HashMap copyBen Wiederhake
2023-05-19LibCore: Explicitly mark HashMap copyBen Wiederhake
2023-05-19AK: Make all HashMap copy-constructs explicitBen Wiederhake
2023-05-19AK: Rewrite HashMap::clone signature with template-args and constBen Wiederhake
2023-05-19Kernel/ScatterGatherList: Add region_name as a part of try_create APIPankaj Raghav
Remove the hardcoded "AHCI Scattered DMA" for region name as it is a part of a common API. Add region_name parameter to the try_create API so that this API can be used by other drivers with the correct Memory region name.
2023-05-19Kernel/ScatterGatherList: Move constructor init code to try_createPankaj Raghav
The constructor code of ScatterGatherList had code that can return error. Move it to try_create for better error propagation. This removes one TODO() and one release_value_but_fixme_should_propagate_errors().
2023-05-19Kernel/ScatterGatherList: Return ErrorOr from try_createPankaj Raghav
This removes the TODO from the try_create API to return ErrorOr. This is also a preparation patch to move the init code in the constructor that can fail to this try_create function.
2023-05-19Kernel: Move a bunch of generic devices code into new subdirectoryLiav A
2023-05-19LibLine: Prefer File::read_until_eof over DeprecatedFile::read_allBen Wiederhake
2023-05-19WindowServer: Prefer File::read_until_eof over DeprecatedFile::read_allBen Wiederhake
2023-05-19Shell: Prefer File::read_until_eof over DeprecatedFile::read_allBen Wiederhake
2023-05-19LibCore: Remove recursive copy API from DeprecatedFileBen Wiederhake
2023-05-19HackStudio: Prefer FileSystem::copy_file_or_directoryBen Wiederhake
2023-05-19usermod: Prefer FileSystem over DeprecatedFileBen Wiederhake
2023-05-19mv: Prefer FileSystem over DeprecatedFileBen Wiederhake
2023-05-19cp: Prefer FileSystem over DeprecatedFileBen Wiederhake
2023-05-19install: Prefer FileSystem over DeprecatedFileBen Wiederhake
2023-05-19LibGfx: Remove clip check in `Painter::do_draw_scaled_bitmap`Jelle Raaijmakers
We were performing a check whether source pixels would fall into a clipped rect too early. Since we already clamp the resulting source coordinates to the clipped rect, we can just remove this code.
2023-05-19LibWeb: Use box sampling instead of bilinear scaling when downscalingJelle Raaijmakers
As a heuristic, either the width or height of the scaled image should decrease for box sampling to be used. Otherwise, we use bilinear scaling.
2023-05-19PixelPaint: Use box sampling scaling for layer thumbnailsJelle Raaijmakers
2023-05-19PixelPaint: Add support for box sampling scalingJelle Raaijmakers
2023-05-19ImageViewer: Add support for box sampling scalingJelle Raaijmakers
2023-05-19LibGfx: Implement box sampling image scalingJelle Raaijmakers
Box sampling is a scaling algorithm that averages all the pixels that form the source for the target pixel. For example, if you would resize a 9x9 image to 3x3, each target pixel would encompass a 3x3 pixel area in the source image. Box sampling is a near perfect scaling algorithm for downscaling. When upscaling with this algorithm, the result is similar to nearest neighbor or smooth pixels.
2023-05-19LibGfx: Cleanup of `Painter::do_draw_scaled_bitmap()`Jelle Raaijmakers
No functional changes.