mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 08:18:12 +00:00
LibWeb: Fix crashing when grid track size is calc() with percentage
Use contains_percentage() that works for calc() values instead of is_percentage(). This fixes issue when tracks with calc() that has percentages where considered as "fixed" tracks with resolvable size which led to incorrectly resolved infinite final track sizes.
This commit is contained in:
parent
b40b1c8d93
commit
2ade229f27
3 changed files with 25 additions and 2 deletions
|
@ -0,0 +1,13 @@
|
|||
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
||||
BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
|
||||
BlockContainer <body> at (8,8) content-size 784x35.40625 children: not-inline
|
||||
Box <div.ipc-page-grid> at (8,8) content-size 784x35.40625 flex-container(row) [FFC] children: not-inline
|
||||
Box <div.ipc-sub-grid> at (8,8) content-size 401.28125x35.40625 flex-item [GFC] children: not-inline
|
||||
BlockContainer <(anonymous)> at (8,8) content-size 401.281x35.40625 [BFC] children: inline
|
||||
line 0 width: 356.96875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
|
||||
frag 0 from TextNode start: 0, length: 40, rect: [8,8 356.96875x17.46875]
|
||||
"The 10 Most Anticipated Summer Movies of"
|
||||
line 1 width: 36.3125, height: 17.9375, bottom: 35.40625, baseline: 13.53125
|
||||
frag 0 from TextNode start: 41, length: 4, rect: [8,25 36.3125x17.46875]
|
||||
"2023"
|
||||
TextNode <#text>
|
|
@ -0,0 +1,10 @@
|
|||
<style>
|
||||
.ipc-page-grid {
|
||||
display: flex;
|
||||
}
|
||||
.ipc-sub-grid {
|
||||
display: grid;
|
||||
grid-template-columns: calc(100%);
|
||||
}
|
||||
</style>
|
||||
<div class="ipc-page-grid"><div class="ipc-sub-grid">The 10 Most Anticipated Summer Movies of 2023</div></div>
|
|
@ -39,7 +39,7 @@ GridSize::~GridSize() = default;
|
|||
bool GridSize::is_auto(Layout::AvailableSize const& available_size) const
|
||||
{
|
||||
if (m_type == Type::LengthPercentage) {
|
||||
if (m_length_percentage.is_percentage())
|
||||
if (m_length_percentage.contains_percentage())
|
||||
return !available_size.is_definite();
|
||||
return m_length_percentage.is_auto();
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ bool GridSize::is_auto(Layout::AvailableSize const& available_size) const
|
|||
bool GridSize::is_fixed(Layout::AvailableSize const& available_size) const
|
||||
{
|
||||
if (m_type == Type::LengthPercentage) {
|
||||
if (m_length_percentage.is_percentage())
|
||||
if (m_length_percentage.contains_percentage())
|
||||
return available_size.is_definite();
|
||||
return !m_length_percentage.is_auto();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue