aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmltablecolelement.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/htmltablecolelement.rs')
-rw-r--r--components/script/dom/htmltablecolelement.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/components/script/dom/htmltablecolelement.rs b/components/script/dom/htmltablecolelement.rs
index 9e8eecf1147..70355f274fc 100644
--- a/components/script/dom/htmltablecolelement.rs
+++ b/components/script/dom/htmltablecolelement.rs
@@ -7,8 +7,10 @@ use html5ever::{LocalName, Prefix, local_name, ns};
use js::rust::HandleObject;
use style::attr::{AttrValue, LengthOrPercentageOrAuto};
+use super::attr::Attr;
use super::bindings::root::LayoutDom;
-use super::element::Element;
+use super::element::{AttributeMutation, Element};
+use super::node::NodeDamage;
use crate::dom::bindings::codegen::Bindings::HTMLTableColElementBinding::HTMLTableColElementMethods;
use crate::dom::bindings::inheritance::Castable;
use crate::dom::bindings::root::DomRoot;
@@ -93,6 +95,16 @@ impl VirtualMethods for HTMLTableColElement {
Some(self.upcast::<HTMLElement>() as &dyn VirtualMethods)
}
+ fn attribute_mutated(&self, attr: &Attr, mutation: AttributeMutation, can_gc: CanGc) {
+ if let Some(super_type) = self.super_type() {
+ super_type.attribute_mutated(attr, mutation, can_gc);
+ }
+
+ if matches!(*attr.local_name(), local_name!("span")) {
+ self.upcast::<Node>().dirty(NodeDamage::OtherNodeDamage);
+ }
+ }
+
fn parse_plain_attribute(&self, local_name: &LocalName, value: DOMString) -> AttrValue {
match *local_name {
local_name!("span") => {