aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/js.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/bindings/js.rs')
-rw-r--r--components/script/dom/bindings/js.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs
index 11aed4be9af..528b1213ccb 100644
--- a/components/script/dom/bindings/js.rs
+++ b/components/script/dom/bindings/js.rs
@@ -408,6 +408,12 @@ impl<T: Reflectable> MutNullableHeap<JS<T>> {
}
}
+ /// Gets the current value out of this object and sets it to `None`.
+ pub fn take(&self) -> Option<Root<T>> {
+ let value = self.get();
+ self.set(None);
+ value
+ }
}
impl<T: Reflectable> PartialEq for MutNullableHeap<JS<T>> {