1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 23:48:11 +00:00
serenity/Userland/Libraries
Andreas Kling 39b7fbfeb9 LibWeb: Rewrite CSS float implementation to use offset-from-edge
The previous implementation used relative X offsets for both left and
right-side floats. This made right-side floats super awkward, since we
could only determine their X position once the width of the BFC root was
known, and for BFC roots with automatic width, this was not even working
at all most of the time.

This patch changes the way we deal with floats so that BFC keeps track
of the offset-from-edge for each float. The offset is the distance from
the BFC root edge (left or right, depending on float direction) to the
"innermost" margin edge of the floating box.

Floating box are now laid out in two passes: while going through the
normal flow layout, we put floats in their *static* position (i.e the
position they would have occupied if they weren't floating) and then
update the Y position value to the final one.

The second pass occurs later on, when the BFC root has had its width
assigned by the parent context. Once we know the root width, we can
set the X position value of floating boxes. (Because the X position of
right-side floats is relative to the right edge of the BFC root.)
2022-03-18 15:18:48 +01:00
..
LibArchive LibArchive: Accept space characters as terminators of tar numeric fields 2022-03-08 23:30:47 +01:00
LibAudio AK+Everywhere: Add sincos and use it in some places 2022-03-15 11:39:42 +01:00
LibC Kernel: Sandbox each GPU3DDevice file description into own host context 2022-03-14 17:38:18 +03:30
LibCards Libraries: Use default constructors/destructors in LibCards 2022-03-10 18:04:26 -08:00
LibChess Libraries: Use default constructors/destructors in LibChess 2022-03-10 18:04:26 -08:00
LibCompress Libraries: Use default constructors/destructors in LibCompress 2022-03-10 18:04:26 -08:00
LibConfig Userland: Rename IPC::ServerConnection=>IPC::ConnectionToServer 2022-02-25 22:35:12 +01:00
LibCore LibCore: Use timing_safe_compare to compare password hash values 2022-03-13 19:08:58 -07:00
LibCoredump Libraries: Use default constructors/destructors in LibX86 2022-03-13 22:34:38 +01:00
LibCpp Libraries: Use default constructors/destructors in LibCpp 2022-03-10 18:04:26 -08:00
LibCrypt LibCrypt: Link the SHA2 hash implementation into LibCrypt privately 2022-01-08 18:56:29 +01:00
LibCrypto LibCrypto: Implement the SECP256r1 elliptic curve 2022-03-18 07:56:47 +03:30
LibDebug Libraries: Use default constructors/destructors in LibDebug 2022-03-10 18:04:26 -08:00
LibDesktop Libraries: Use default constructors/destructors in LibDesktop 2022-03-10 18:04:26 -08:00
LibDeviceTree Libraries: Add LibDeviceTree for manipulating OpenFirmware Device Trees 2021-10-21 19:20:03 -07:00
LibDiff LibDiff: Generate hunks for new/deleted files 2022-03-08 23:30:47 +01:00
LibDl Libraries: Use default constructors/destructors in LibDl 2022-03-10 18:04:26 -08:00
LibDSP AK+Everywhere: Add sincos and use it in some places 2022-03-15 11:39:42 +01:00
LibEDID LibEDID: Fix DetailedTiming::pixel_clock_khz result 2022-03-08 22:07:59 +01:00
LibELF Libraries: Use default constructors/destructors in LibELF 2022-03-10 18:04:26 -08:00
LibFileSystemAccessClient Userland: Rename WindowServerConnection=>ConnectionToWindowServer 2022-02-25 22:35:12 +01:00
LibGemini Libraries: Use default constructors/destructors in LibGemini 2022-03-13 22:34:38 +01:00
LibGfx LibGfx: Draw window frame border radii antialiased 2022-03-18 11:31:33 +01:00
LibGL Libraries: Use default constructors/destructors in LibGL 2022-03-10 18:04:26 -08:00
LibGUI LibGUI: Clamp selection when drag-selecting over out of range area 2022-03-17 17:05:56 +01:00
LibHTTP Libraries: Use default constructors/destructors in LibHTTP 2022-03-13 22:34:38 +01:00
LibImageDecoderClient Userland: Rename IPC::ServerConnection=>IPC::ConnectionToServer 2022-02-25 22:35:12 +01:00
LibIMAP Userland: Convert TLS::TLSv12 to a Core::Stream::Socket 2022-02-06 13:10:10 +01:00
LibIPC Libraries: Use default constructors/destructors in LibIPC 2022-03-13 22:34:38 +01:00
LibJS LibJS: Tweak Interpreter::create() for more spec-likeness 2022-03-18 01:12:12 +01:00
LibKeyboard Kernel: Stop using LibKeyboard's CharacterMap in HIDManagement 2022-01-21 18:25:44 +01:00
LibLine Libraries: Use default constructors/destructors in LibLine 2022-03-13 22:34:38 +01:00
LibM LibM: Count fractions when exponent < -1 with mantissa == 0 2022-01-02 12:44:31 +03:30
LibMain LibMain: Update header includes 2022-02-26 17:49:58 +00:00
LibMarkdown Libraries: Use default constructors/destructors in LibMarkdown 2022-03-13 22:34:38 +01:00
LibPCIDB LibCore+AK: Move MappedFile from AK to LibCore 2021-11-23 11:33:36 +01:00
LibPDF LibPDF: Allow newlines between xref table and "trailer" keyword 2022-03-07 10:53:57 +01:00
LibProtocol Userland: Rename IPC::ServerConnection=>IPC::ConnectionToServer 2022-02-25 22:35:12 +01:00
LibPthread LibPthread: Define SEM_FAILED in semaphore.h 2022-03-16 18:03:52 +00:00
LibRegex LibRegex: Make codegen+optimisation for alternatives much faster 2022-02-20 11:53:59 +01:00
LibSanitizer AK+Kernel+LibSanitizer: Store "ubsan-is-deadly" flag as Atomic<bool> 2022-02-03 16:11:26 +01:00
LibSoftGPU LibGfx+LibSoftGPU: Allow indexed reads into Gfx::Vector 2022-03-11 12:30:43 +01:00
LibSQL Libraries: Use default constructors/destructors in LibSQL 2022-03-13 22:34:38 +01:00
LibSymbolication LibCore+AK: Move MappedFile from AK to LibCore 2021-11-23 11:33:36 +01:00
LibSyntax Libraries: Use default constructors/destructors in LibSyntax 2022-03-13 22:34:38 +01:00
LibSystem LibCore+LibSystem: Move syscall wrappers from LibSystem to LibCore 2021-11-23 11:33:36 +01:00
LibTest LibJS: Add infallible variant of VM::push_execution_context() 2022-03-18 01:12:12 +01:00
LibTextCodec LibTextCodec: Add support for the UTF16-LE encoding 2022-03-08 14:51:06 +01:00
LibThreading Libraries: Use default constructors/destructors in LibThreading 2022-03-13 22:34:38 +01:00
LibTimeZone LibTimeZone: Parse and generate time zone coordinate data 2022-02-03 16:11:15 +01:00
LibTLS LibTLS: Add support for curve x448 2022-03-09 13:04:48 +03:30
LibUnicode LibUnicode: Use BCP 47 data to filter valid calendar names 2022-02-16 07:23:07 -05:00
LibUSBDB LibCore+AK: Move MappedFile from AK to LibCore 2021-11-23 11:33:36 +01:00
LibVideo AK: Move integral log2 and exp to IntegerMath.h 2022-02-06 17:52:33 +00:00
LibVT LibVT/Kernel: Make VT::Attribute::Flags enum class, use AK EnumBits 2022-03-18 11:29:43 +01:00
LibWasm LibWasm: Fix validation of if-else blocks 2022-02-16 22:48:32 +03:30
LibWeb LibWeb: Rewrite CSS float implementation to use offset-from-edge 2022-03-18 15:18:48 +01:00
LibWebSocket Libraries: Use default constructors/destructors in LibWebSocket 2022-03-13 22:34:38 +01:00
LibX86 Libraries: Use default constructors/destructors in LibX86 2022-03-13 22:34:38 +01:00
CMakeLists.txt LibEDID: Add a library to parse EDID blobs 2022-01-23 22:45:21 +00:00