diff --git a/src/components/script/dom/range.rs b/src/components/script/dom/range.rs index 1aa813e6d0e..31b6b70671e 100644 --- a/src/components/script/dom/range.rs +++ b/src/components/script/dom/range.rs @@ -4,10 +4,12 @@ use dom::bindings::codegen::Bindings::RangeBinding; use dom::bindings::codegen::Bindings::RangeBinding::RangeMethods; +use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; use dom::bindings::error::Fallible; -use dom::bindings::global::GlobalRef; +use dom::bindings::global::{GlobalRef, Window}; use dom::bindings::js::{JSRef, Temporary}; use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object}; +use dom::document::Document; #[deriving(Encodable)] pub struct Range { @@ -21,12 +23,16 @@ impl Range { } } - pub fn new(global: &GlobalRef) -> Temporary { - reflect_dom_object(box Range::new_inherited(), global, RangeBinding::Wrap) + pub fn new(document: &JSRef) -> Temporary { + let window = document.window.root(); + reflect_dom_object(box Range::new_inherited(), + &Window(*window), + RangeBinding::Wrap) } pub fn Constructor(global: &GlobalRef) -> Fallible> { - Ok(Range::new(global)) + let document = global.as_window().Document().root(); + Ok(Range::new(&*document)) } }