mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
Remove use of RootedVec in DOMRectList
This commit is contained in:
parent
81cacdf820
commit
22931145ab
2 changed files with 11 additions and 17 deletions
|
@ -6,7 +6,6 @@ use dom::bindings::codegen::Bindings::DOMRectListBinding;
|
||||||
use dom::bindings::codegen::Bindings::DOMRectListBinding::DOMRectListMethods;
|
use dom::bindings::codegen::Bindings::DOMRectListBinding::DOMRectListMethods;
|
||||||
use dom::bindings::global::GlobalRef;
|
use dom::bindings::global::GlobalRef;
|
||||||
use dom::bindings::js::{JS, JSRef, Temporary};
|
use dom::bindings::js::{JS, JSRef, Temporary};
|
||||||
use dom::bindings::trace::RootedVec;
|
|
||||||
use dom::bindings::utils::{Reflector, reflect_dom_object};
|
use dom::bindings::utils::{Reflector, reflect_dom_object};
|
||||||
use dom::domrect::DOMRect;
|
use dom::domrect::DOMRect;
|
||||||
use dom::window::Window;
|
use dom::window::Window;
|
||||||
|
@ -19,17 +18,17 @@ pub struct DOMRectList {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DOMRectList {
|
impl DOMRectList {
|
||||||
fn new_inherited(window: JSRef<Window>,
|
fn new_inherited<T>(window: JSRef<Window>, rects: T) -> DOMRectList
|
||||||
rects: &RootedVec<JS<DOMRect>>) -> DOMRectList {
|
where T: Iterator<Item=Temporary<DOMRect>> {
|
||||||
DOMRectList {
|
DOMRectList {
|
||||||
reflector_: Reflector::new(),
|
reflector_: Reflector::new(),
|
||||||
rects: (**rects).clone(),
|
rects: rects.map(JS::from_rooted).collect(),
|
||||||
window: JS::from_rooted(window),
|
window: JS::from_rooted(window),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn new(window: JSRef<Window>,
|
pub fn new<T>(window: JSRef<Window>, rects: T) -> Temporary<DOMRectList>
|
||||||
rects: &RootedVec<JS<DOMRect>>) -> Temporary<DOMRectList> {
|
where T: Iterator<Item=Temporary<DOMRect>> {
|
||||||
reflect_dom_object(box DOMRectList::new_inherited(window, rects),
|
reflect_dom_object(box DOMRectList::new_inherited(window, rects),
|
||||||
GlobalRef::Window(window), DOMRectListBinding::Wrap)
|
GlobalRef::Window(window), DOMRectListBinding::Wrap)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1243,17 +1243,12 @@ impl<'a> ElementMethods for JSRef<'a, Element> {
|
||||||
let win = window_from_node(self).root();
|
let win = window_from_node(self).root();
|
||||||
let node: JSRef<Node> = NodeCast::from_ref(self);
|
let node: JSRef<Node> = NodeCast::from_ref(self);
|
||||||
let raw_rects = node.get_content_boxes();
|
let raw_rects = node.get_content_boxes();
|
||||||
let mut rects = RootedVec::new();
|
let rects = raw_rects.iter().map(|rect| {
|
||||||
for rect in raw_rects.iter() {
|
DOMRect::new(win.r(),
|
||||||
let rect = DOMRect::new(win.r(),
|
rect.origin.y, rect.origin.y + rect.size.height,
|
||||||
rect.origin.y,
|
rect.origin.x, rect.origin.x + rect.size.width)
|
||||||
rect.origin.y + rect.size.height,
|
});
|
||||||
rect.origin.x,
|
DOMRectList::new(win.r(), rects)
|
||||||
rect.origin.x + rect.size.width);
|
|
||||||
rects.push(JS::from_rooted(rect));
|
|
||||||
}
|
|
||||||
|
|
||||||
DOMRectList::new(win.r(), &rects)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://dev.w3.org/csswg/cssom-view/#dom-element-getboundingclientrect
|
// http://dev.w3.org/csswg/cssom-view/#dom-element-getboundingclientrect
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue