1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 07:37:46 +00:00

LibWeb: Better width computation for position:absolute blocks

This patch basically translates the CSS2.2 spec language into C++ for
computing the  width of absolutely positioned non-replaced elements.
This commit is contained in:
Andreas Kling 2020-06-18 18:28:32 +02:00
parent 3f87c98f44
commit abe811104f
2 changed files with 122 additions and 39 deletions

View file

@ -73,6 +73,10 @@ protected:
private:
virtual bool is_block() const override { return true; }
float calculate_shrink_to_fit_width(const Length& margin_left, const Length& border_left, const Length& padding_left, const Length& padding_right, const Length& border_right, const Length& margin_right);
void compute_width_for_absolutely_positioned_block();
void place_block_level_non_replaced_element_in_normal_flow(LayoutBlock&);
void place_block_level_replaced_element_in_normal_flow(LayoutReplaced&);
void layout_absolutely_positioned_descendant(LayoutBox&);