1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 02:57:42 +00:00
serenity/Userland/Libraries
Andreas Kling 80ce0419b6 LibWeb: Fix abspos flex container with height:auto getting zero height
When laying out abspos boxes, we compute the height twice: before and
after the inside of the box has been laid out.

The first pass allows percentage vertical values inside the box to be
resolved against the box's height. The second pass resolves the final
used value for the height of the box itself.

In cases where the box height depends on the results of inside layout,
we were incorrectly setting the box to having a definite zero height.
This led to incorrect results when sizing an abspos flex container,
since the FFC sizes containers (in row layouts) based on whether the
container has a definite height.

To avoid this problem, this patch adds an enum so we can differentiate
between the two abspos height computation passes. If the first pass
discovers a dependency on the inside layout, we simply bail out of
computing the height, leaving it as indefinite. This allows the FFC
to size its container correctly, and the correct height gets set by
the second pass.
2023-01-06 21:12:55 +01:00
..
LibArchive LibArchive+Utilities: Port ZipOutputStream to Core::Stream 2022-12-27 07:24:07 +03:30
LibAudio Everywhere: Remove unused includes of AK/Format.h 2023-01-02 20:27:20 -05:00
LibC LibIPC+LibC: Add and use a helper to encode/decoder container sizes 2023-01-04 20:13:54 +01:00
LibCards LibCards+Games: Make CardGame::add_stack() fallible 2023-01-06 16:03:50 +01:00
LibChess Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
LibCodeComprehension Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
LibCompress LibCompress: Port ZlibCompressor to Core::Stream 2023-01-03 10:01:09 +00:00
LibConfig LibConfig+LibCore+ConfigServer: Support u32 configuration entries 2022-12-23 23:26:21 +01:00
LibCore LibCore: Add Stream::File::leak_fd(Badge<IPC::File>) 2023-01-06 14:52:29 +00:00
LibCoredump LibCoredump: Remove i686 support 2022-12-28 11:53:41 +01:00
LibCpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
LibCrypt AK: Stop using DeprecatedString in Base64 encoding 2022-12-20 10:34:19 +01:00
LibCrypto LibCrypto: Add equality operators for Crypto::Hash::Digest<> 2023-01-05 10:54:35 +01:00
LibDebug LibDebug: Remove i686 support 2022-12-28 11:53:41 +01:00
LibDesktop LibDesktop+Taskbar: Add an option to exclude apps from the system menu 2023-01-03 17:56:55 +01:00
LibDeviceTree AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibDiff LibDiff: Make Diff::generate_only_additions take text as StringView 2022-12-20 10:58:54 +01:00
LibDNS LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
LibDSP Everywhere: Use C++ concepts instead of requires clauses 2022-12-09 11:25:30 +00:00
LibEDID LibEDID: Propagate errors using TRY 2023-01-02 11:04:38 -05:00
LibELF Everywhere: Remove unused includes of AK/Memory.h 2023-01-02 20:27:20 -05:00
LibFileSystemAccessClient FileSystemAccessServer: Use Core::Stream 2023-01-06 14:52:29 +00:00
LibGemini LibCore: Propagate errors from Stream::*_entire_buffer 2022-12-12 14:16:42 +01:00
LibGfx LibGfx+icc: Verify ICCProfile ID at parse time instead of in icc 2023-01-06 20:26:14 +01:00
LibGL LibGL: Implement GL_BLEND_DST and GL_BLEND_SRC 2023-01-03 19:49:31 -05:00
LibGLSL LibGLSL: Fill LinkedShaders with dummy IR code 2022-12-17 22:39:09 -07:00
LibGPU Everywhere: Remove unused includes of AK/Array.h 2023-01-02 20:08:35 +00:00
LibGUI LibGUI: Simplify GUI::Label preferred height calculation 2023-01-06 13:43:04 +01:00
LibHTTP LibCompress: Rename Compress::Zlib to Compress::ZlibDecompressor 2023-01-03 10:01:09 +00:00
LibIDL LibIDL: Use Core::Stream to read imports 2022-12-14 15:19:35 +00:00
LibImageDecoderClient Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibIMAP Everywhere: Remove unused includes of AK/Format.h 2023-01-02 20:27:20 -05:00
LibIPC LibIPC: Add File(Core::Stream::File& file, ...) 2023-01-06 14:52:29 +00:00
LibJS LibJS: Rename ToIntegerThrowOnInfinity to ToIntegerWithTruncation 2023-01-06 11:16:55 +01:00
LibKeyboard Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
LibLine Everywhere: Remove unused includes of LibC/stdlib.h 2023-01-02 20:27:20 -05:00
LibLocale Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
LibMain Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibManual Help+LibManual: Open sibling page for subsections 2023-01-02 06:15:13 -07:00
LibMarkdown Everywhere: Remove unused includes of AK/Format.h 2023-01-02 20:27:20 -05:00
LibPartition Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibPCIDB AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibPDF LibPDF: Load destinations from Catalogue -> Names -> Dests name tree 2023-01-06 18:06:41 +01:00
LibProtocol AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibRegex LibRegex: Return StringView from get_error_string() 2023-01-04 20:05:52 +01:00
LibSanitizer LibC: Properly implement stack protectors 2022-11-01 14:49:09 +00:00
LibSoftGPU LibGPU+LibSoftGPU: Move size and pixel format information to GPU::Image 2022-12-26 09:39:20 +01:00
LibSQL LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
LibSymbolication LibELF+LibSymbolication: Remove i686 support 2022-12-28 11:53:41 +01:00
LibSyntax LibSyntax: Add common_language_extension() function 2022-12-19 14:13:50 -05:00
LibSystem Meta+Userland: Add ENABLE_USERSPACE_COVERAGE_COLLECTION CMake option 2022-05-02 01:46:18 +02:00
LibTest Everywhere: Remove unused includes of AK/Format.h 2023-01-02 20:27:20 -05:00
LibTextCodec Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
LibThreading Everywhere: Remove unused includes of AK/Format.h 2023-01-02 20:27:20 -05:00
LibTimeZone AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibTLS LibCore: Propagate errors from Stream::*_entire_buffer 2022-12-12 14:16:42 +01:00
LibUnicode LibUnicode: Fix compilation when the UCD download is disabled 2022-12-14 15:24:48 +00:00
LibUSBDB AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibVideo Everywhere: Remove unused includes of AK/Concepts.h 2023-01-02 20:27:20 -05:00
LibVirtGPU LibVirtGPU: Adopt rendering code from VirGLDemo 2022-12-26 09:39:20 +01:00
LibVT LibVT: Simplify TerminalWidget::widget_size_for_font() 2023-01-06 12:02:20 +01:00
LibWasm Everywhere: Move AK/Debug.h include to using files or remove 2023-01-02 20:27:20 -05:00
LibWeb LibWeb: Fix abspos flex container with height:auto getting zero height 2023-01-06 21:12:55 +01:00
LibWebSocket AK: Stop using DeprecatedString in Base64 encoding 2022-12-20 10:34:19 +01:00
LibWebView Browser+WebContent: Fixup some DOM inspector weirdness 2022-12-19 11:37:56 -05:00
LibX86 LibX86: Remove i686 support 2022-12-28 11:53:41 +01:00
LibXML Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
CMakeLists.txt LibVirtGPU: Add a new GPU device that talks to our VirtIO-GPU driver 2022-12-26 09:39:20 +01:00