diff options
Diffstat (limited to 'components/script/dom/htmldetailselement.rs')
-rw-r--r-- | components/script/dom/htmldetailselement.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/components/script/dom/htmldetailselement.rs b/components/script/dom/htmldetailselement.rs index 314611707ea..5ec9ab68604 100644 --- a/components/script/dom/htmldetailselement.rs +++ b/components/script/dom/htmldetailselement.rs @@ -11,7 +11,7 @@ use crate::dom::document::Document; use crate::dom::element::AttributeMutation; use crate::dom::eventtarget::EventTarget; use crate::dom::htmlelement::HTMLElement; -use crate::dom::node::{window_from_node, Node}; +use crate::dom::node::{window_from_node, Node, NodeDamage}; use crate::dom::virtualmethods::VirtualMethods; use crate::task_source::TaskSource; use dom_struct::dom_struct; @@ -49,6 +49,10 @@ impl HTMLDetailsElement { document, ) } + + pub fn toggle(&self) { + self.SetOpen(!self.Open()); + } } impl HTMLDetailsElementMethods for HTMLDetailsElement { @@ -83,6 +87,7 @@ impl VirtualMethods for HTMLDetailsElement { }), window.upcast(), ); + self.upcast::<Node>().dirty(NodeDamage::OtherNodeDamage) } } } |