ladybird/Userland/Libraries/LibWeb
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
..
Bindings Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
Cookie LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
Crypto
CSS LibWeb: Use CSS Pixels for viewport rects 2023-01-05 17:42:31 +01:00
DOM LibWeb: Convert Layout Boxes to new pixel units 2023-01-05 17:42:31 +01:00
DOMParsing
Encoding
Fetch AK: Stop using DeprecatedString in Base64 encoding 2022-12-20 10:34:19 +01:00
FileAPI LibWeb: Verify optional argument has a value before static_cast-ing it 2023-01-06 20:51:21 +01:00
Geometry
HighResolutionTime Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
HTML LibWeb: Pass FloatRect to Painter::draw_text in fill_text 2023-01-05 15:47:40 -05:00
Infra
IntersectionObserver
Layout LibWeb: Fix abspos flex container with height:auto getting zero height 2023-01-06 21:12:55 +01:00
Loader LibWeb: Store cookies for every HTTP response 2022-12-30 21:56:54 -05:00
MimeSniff
NavigationTiming Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
Page LibWeb+WebContent: Convert BrowsingContext to new pixel units 2023-01-05 17:42:31 +01:00
Painting LibWeb: Return floats from color stop resolution functions 2023-01-05 19:56:43 +01:00
Platform LibWeb: Use default system fonts for serif, sans-serif, etc. 2023-01-06 12:02:21 +01:00
ReferrerPolicy
RequestIdleCallback Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
ResizeObserver
Scripts
SecureContexts
Selection
Streams
SVG LibWeb: Resolve Lengths to CSSPixels 2023-01-05 17:42:31 +01:00
Tests
UIEvents LibWeb: Support MouseEvent.{pageX,pageY} 2022-12-31 16:17:48 +01:00
URL
WebAssembly LibJS: Convert Object::construct() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
WebDriver LibWeb+WebContent: Convert BrowsingContext to new pixel units 2023-01-05 17:42:31 +01:00
WebGL LibGL+LibWeb: Remove WebGL-specific API from GLContext 2022-12-25 15:48:59 +01:00
WebIDL
WebSockets
XHR
XML
CMakeLists.txt
Dump.cpp
Dump.h
FontCache.cpp
FontCache.h
Forward.h
idl_files.cmake
Namespace.cpp
Namespace.h
PixelUnits.h
TreeNode.h