mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Move (some) CSSStyleDeclaration.SetProperty logic to style
This commit is contained in:
parent
bd4a4c38c8
commit
c740a76410
4 changed files with 103 additions and 98 deletions
|
@ -130,6 +130,30 @@ impl PropertyDeclarationBlock {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn set_parsed_declaration(&mut self, declaration: PropertyDeclaration,
|
||||
importance: Importance) {
|
||||
for slot in &mut *self.declarations {
|
||||
if slot.0.name() == declaration.name() {
|
||||
match (slot.1, importance) {
|
||||
(Importance::Normal, Importance::Important) => {
|
||||
self.important_count += 1;
|
||||
}
|
||||
(Importance::Important, Importance::Normal) => {
|
||||
self.important_count -= 1;
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
*slot = (declaration, importance);
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
self.declarations.push((declaration, importance));
|
||||
if importance.important() {
|
||||
self.important_count += 1;
|
||||
}
|
||||
}
|
||||
|
||||
/// https://dev.w3.org/csswg/cssom/#dom-cssstyledeclaration-removeproperty
|
||||
pub fn remove_property(&mut self, property_name: &str) {
|
||||
// Step 2
|
||||
|
|
|
@ -1974,6 +1974,8 @@ pub fn modify_style_for_inline_absolute_hypothetical_fragment(style: &mut Arc<Co
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// FIXME: https://github.com/w3c/csswg-drafts/issues/580
|
||||
pub fn is_supported_property(property: &str) -> bool {
|
||||
match_ignore_ascii_case! { property,
|
||||
% for property in data.shorthands + data.longhands:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue