1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 22:57:44 +00:00

LibWeb: Parse the CSS scrollbar-width property

This commit is contained in:
Aliaksandr Kalenik 2024-02-27 09:37:18 +01:00 committed by Tim Flynn
parent c74fc4c171
commit 8d9e20cb03
7 changed files with 37 additions and 0 deletions

View file

@ -177,6 +177,8 @@ public:
static CSS::MathShift math_shift() { return CSS::MathShift::Normal; }
static CSS::MathStyle math_style() { return CSS::MathStyle::Normal; }
static int math_depth() { return 0; }
static CSS::ScrollbarWidth scrollbar_width() { return CSS::ScrollbarWidth::Auto; }
};
enum class BackgroundSize {
@ -432,6 +434,8 @@ public:
CSS::MathStyle math_style() const { return m_inherited.math_style; }
int math_depth() const { return m_inherited.math_depth; }
CSS::ScrollbarWidth scrollbar_width() const { return m_noninherited.scrollbar_width; }
NonnullOwnPtr<ComputedValues> clone_inherited_values() const
{
auto clone = make<ComputedValues>();
@ -564,6 +568,8 @@ protected:
CSS::MaskType mask_type { InitialValues::mask_type() };
LengthPercentage x { InitialValues::x() };
LengthPercentage y { InitialValues::x() };
CSS::ScrollbarWidth scrollbar_width { InitialValues::scrollbar_width() };
} m_noninherited;
};
@ -694,6 +700,8 @@ public:
void set_math_shift(CSS::MathShift value) { m_inherited.math_shift = value; }
void set_math_style(CSS::MathStyle value) { m_inherited.math_style = value; }
void set_math_depth(int value) { m_inherited.math_depth = value; }
void set_scrollbar_width(CSS::ScrollbarWidth value) { m_noninherited.scrollbar_width = value; }
};
}

View file

@ -361,6 +361,11 @@
"middle",
"end"
],
"scrollbar-width": [
"auto",
"thin",
"none"
],
"text-align": [
"center",
"justify",

View file

@ -2034,6 +2034,18 @@
],
"percentages-resolve-to": "length"
},
"scrollbar-width": {
"affects-layout": false,
"animation-type": "by-computed-value",
"inherited": false,
"initial": "auto",
"valid-types": [ "scrollbar-width" ],
"valid-identifiers": [
"auto",
"thin",
"none"
]
},
"stop-color": {
"affects-layout": false,
"animation-type": "by-computed-value",

View file

@ -1110,4 +1110,10 @@ QuotesData StyleProperties::quotes() const
return InitialValues::quotes();
}
Optional<CSS::ScrollbarWidth> StyleProperties::scrollbar_width() const
{
auto value = property(CSS::PropertyID::ScrollbarWidth);
return value_id_to_scrollbar_width(value->to_identifier());
}
}

View file

@ -158,6 +158,8 @@ public:
QuotesData quotes() const;
Optional<CSS::ScrollbarWidth> scrollbar_width() const;
static NonnullRefPtr<Gfx::Font const> font_fallback(bool monospace, bool bold);
private: