diff options
author | Eduard Burtescu <edy.burt@gmail.com> | 2016-07-04 20:24:06 +0300 |
---|---|---|
committer | Eduard Burtescu <edy.burt@gmail.com> | 2016-07-04 20:59:06 +0300 |
commit | b79a7d468e99f335dce49cc48342f0cd447eb855 (patch) | |
tree | a98f95839eb04fcda6bf5ea8f4d1ee0e53423fdb /components/script/dom/document.rs | |
parent | 0db1faf87651c99223683faafc836353f016ffb3 (diff) | |
download | servo-b79a7d468e99f335dce49cc48342f0cd447eb855.tar.gz servo-b79a7d468e99f335dce49cc48342f0cd447eb855.zip |
Use a stack guard and a macro for RootedVec instead of return_address.
Diffstat (limited to 'components/script/dom/document.rs')
-rw-r--r-- | components/script/dom/document.rs | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 23c50075068..7b3697e6a1b 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -28,7 +28,6 @@ use dom::bindings::num::Finite; use dom::bindings::refcounted::Trusted; use dom::bindings::reflector::{Reflectable, reflect_dom_object}; use dom::bindings::str::{DOMString, USVString}; -use dom::bindings::trace::RootedVec; use dom::bindings::xmlname::XMLName::InvalidXMLName; use dom::bindings::xmlname::{validate_and_extract, namespace_from_domstring, xml_name_type}; use dom::browsingcontext::BrowsingContext; @@ -115,6 +114,7 @@ use std::cell::{Cell, Ref, RefMut}; use std::collections::HashMap; use std::collections::hash_map::Entry::{Occupied, Vacant}; use std::default::Default; +use std::iter::once; use std::mem; use std::ptr; use std::rc::Rc; @@ -1009,18 +1009,15 @@ impl Document { } } - let mut touches = RootedVec::new(); + rooted_vec!(let mut touches); touches.extend(self.active_touch_points.borrow().iter().cloned()); - - let mut changed_touches = RootedVec::new(); - changed_touches.push(JS::from_ref(&*touch)); - - let mut target_touches = RootedVec::new(); + rooted_vec!(let mut target_touches); target_touches.extend(self.active_touch_points .borrow() .iter() .filter(|t| t.Target() == target) .cloned()); + rooted_vec!(let changed_touches <- once(touch)); let event = TouchEvent::new(window, DOMString::from(event_name), |