mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-12-27 21:21:50 +03:00
LibWeb: Parse the CSS scrollbar-width property
This commit is contained in:
parent
c74fc4c171
commit
8d9e20cb03
Notes:
sideshowbarker
2024-07-17 05:00:08 +09:00
Author: https://github.com/kalenikaliaksandr Commit: https://github.com/SerenityOS/serenity/commit/8d9e20cb03 Pull-request: https://github.com/SerenityOS/serenity/pull/23381 Reviewed-by: https://github.com/AtkinsSJ Reviewed-by: https://github.com/trflynn89 ✅
@ -138,6 +138,7 @@ position: static
|
||||
quotes: auto
|
||||
right: auto
|
||||
row-gap: auto
|
||||
scrollbar-width: auto
|
||||
stop-color: rgb(0, 0, 0)
|
||||
stop-opacity: 1
|
||||
stroke: none
|
||||
|
@ -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; }
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -361,6 +361,11 @@
|
||||
"middle",
|
||||
"end"
|
||||
],
|
||||
"scrollbar-width": [
|
||||
"auto",
|
||||
"thin",
|
||||
"none"
|
||||
],
|
||||
"text-align": [
|
||||
"center",
|
||||
"justify",
|
||||
|
@ -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",
|
||||
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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:
|
||||
|
@ -835,6 +835,9 @@ void NodeWithStyle::apply_style(const CSS::StyleProperties& computed_style)
|
||||
|
||||
computed_values.set_object_position(computed_style.object_position());
|
||||
|
||||
if (auto scrollbar_width = computed_style.scrollbar_width(); scrollbar_width.has_value())
|
||||
computed_values.set_scrollbar_width(scrollbar_width.value());
|
||||
|
||||
propagate_style_to_anonymous_wrappers();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user