srctree

Robin Linden parent 5dfd5412 acabe0cf
style: Add support for the initial CSS keyword

inlinesplit
style/styled_node.cpp added: 24, removed: 2, total 22
@@ -142,6 +142,9 @@ std::string_view StyledNode::get_property(std::string_view property) const {
return parent->get_property(property);
}
 
return kInitialValues.at(property);
} else if (it->second == "initial") {
// https://developer.mozilla.org/en-US/docs/Web/CSS/initial
return kInitialValues.at(property);
} else if (it->second == "inherit") {
// https://developer.mozilla.org/en-US/docs/Web/CSS/inherit
 
style/styled_node_test.cpp added: 24, removed: 2, total 22
@@ -40,6 +40,25 @@ int main() {
expect_eq(child.get_property("font-size"sv), "15em"sv);
});
 
etest::test("initial css keyword", [] {
dom::Node dom_node = dom::Element{"dummy"s};
style::StyledNode root{
.node = dom_node,
.properties = {{"color"s, "blue"s}},
.children{
style::StyledNode{
.node{dom_node},
.properties{{"color"s, "initial"s}},
},
},
};
 
auto &child = root.children[0];
child.parent = &root;
 
expect_eq(child.get_property("color"sv), "canvastext"sv);
});
 
etest::test("inherit css keyword", [] {
dom::Node dom_node = dom::Element{"dummy"s};
style::StyledNode root{