diff --git a/src/components/script/dom/clientrect.rs b/src/components/script/dom/domrect.rs similarity index 70% rename from src/components/script/dom/clientrect.rs rename to src/components/script/dom/domrect.rs index 3d1af37fb9f..2cf75ee4eb9 100644 --- a/src/components/script/dom/clientrect.rs +++ b/src/components/script/dom/domrect.rs @@ -2,8 +2,8 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use dom::bindings::codegen::Bindings::ClientRectBinding; -use dom::bindings::codegen::Bindings::ClientRectBinding::ClientRectMethods; +use dom::bindings::codegen::Bindings::DOMRectBinding; +use dom::bindings::codegen::Bindings::DOMRectBinding::DOMRectMethods; use dom::bindings::global::Window; use dom::bindings::js::{JSRef, Temporary}; use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object}; @@ -11,7 +11,7 @@ use dom::window::Window; use servo_util::geometry::Au; #[deriving(Encodable)] -pub struct ClientRect { +pub struct DOMRect { reflector_: Reflector, top: f32, bottom: f32, @@ -19,10 +19,10 @@ pub struct ClientRect { right: f32, } -impl ClientRect { +impl DOMRect { pub fn new_inherited(top: Au, bottom: Au, - left: Au, right: Au) -> ClientRect { - ClientRect { + left: Au, right: Au) -> DOMRect { + DOMRect { top: top.to_nearest_px() as f32, bottom: bottom.to_nearest_px() as f32, left: left.to_nearest_px() as f32, @@ -33,13 +33,13 @@ impl ClientRect { pub fn new(window: &JSRef, top: Au, bottom: Au, - left: Au, right: Au) -> Temporary { - let rect = ClientRect::new_inherited(top, bottom, left, right); - reflect_dom_object(box rect, &Window(*window), ClientRectBinding::Wrap) + left: Au, right: Au) -> Temporary { + let rect = DOMRect::new_inherited(top, bottom, left, right); + reflect_dom_object(box rect, &Window(*window), DOMRectBinding::Wrap) } } -impl<'a> ClientRectMethods for JSRef<'a, ClientRect> { +impl<'a> DOMRectMethods for JSRef<'a, DOMRect> { fn Top(&self) -> f32 { self.top } @@ -65,7 +65,7 @@ impl<'a> ClientRectMethods for JSRef<'a, ClientRect> { } } -impl Reflectable for ClientRect { +impl Reflectable for DOMRect { fn reflector<'a>(&'a self) -> &'a Reflector { &self.reflector_ } diff --git a/src/components/script/dom/clientrectlist.rs b/src/components/script/dom/domrectlist.rs similarity index 61% rename from src/components/script/dom/clientrectlist.rs rename to src/components/script/dom/domrectlist.rs index 9926205b336..0c661c4a51d 100644 --- a/src/components/script/dom/clientrectlist.rs +++ b/src/components/script/dom/domrectlist.rs @@ -2,26 +2,26 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use dom::bindings::codegen::Bindings::ClientRectListBinding; -use dom::bindings::codegen::Bindings::ClientRectListBinding::ClientRectListMethods; +use dom::bindings::codegen::Bindings::DOMRectListBinding; +use dom::bindings::codegen::Bindings::DOMRectListBinding::DOMRectListMethods; use dom::bindings::global::Window; use dom::bindings::js::{JS, JSRef, Temporary}; use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object}; -use dom::clientrect::ClientRect; +use dom::domrect::DOMRect; use dom::window::Window; #[deriving(Encodable)] -pub struct ClientRectList { +pub struct DOMRectList { reflector_: Reflector, - rects: Vec>, + rects: Vec>, window: JS, } -impl ClientRectList { +impl DOMRectList { pub fn new_inherited(window: &JSRef, - rects: Vec>) -> ClientRectList { + rects: Vec>) -> DOMRectList { let rects = rects.iter().map(|rect| JS::from_rooted(rect)).collect(); - ClientRectList { + DOMRectList { reflector_: Reflector::new(), rects: rects, window: JS::from_rooted(window), @@ -29,18 +29,18 @@ impl ClientRectList { } pub fn new(window: &JSRef, - rects: Vec>) -> Temporary { - reflect_dom_object(box ClientRectList::new_inherited(window, rects), - &Window(*window), ClientRectListBinding::Wrap) + rects: Vec>) -> Temporary { + reflect_dom_object(box DOMRectList::new_inherited(window, rects), + &Window(*window), DOMRectListBinding::Wrap) } } -impl<'a> ClientRectListMethods for JSRef<'a, ClientRectList> { +impl<'a> DOMRectListMethods for JSRef<'a, DOMRectList> { fn Length(&self) -> u32 { self.rects.len() as u32 } - fn Item(&self, index: u32) -> Option> { + fn Item(&self, index: u32) -> Option> { let rects = &self.rects; if index < rects.len() as u32 { Some(Temporary::new(rects[index as uint].clone())) @@ -49,13 +49,13 @@ impl<'a> ClientRectListMethods for JSRef<'a, ClientRectList> { } } - fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option> { + fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option> { *found = index < self.rects.len() as u32; self.Item(index) } } -impl Reflectable for ClientRectList { +impl Reflectable for DOMRectList { fn reflector<'a>(&'a self) -> &'a Reflector { &self.reflector_ } diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index 7e9ad337da0..8d867b573be 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -18,8 +18,8 @@ use dom::bindings::trace::Traceable; use dom::bindings::utils::{Reflectable, Reflector}; use dom::bindings::error::{ErrorResult, Fallible, NamespaceError, InvalidCharacter, Syntax}; use dom::bindings::utils::{QName, Name, InvalidXMLName, xml_name_type}; -use dom::clientrect::ClientRect; -use dom::clientrectlist::ClientRectList; +use dom::domrect::DOMRect; +use dom::domrectlist::DOMRectList; use dom::document::{Document, DocumentHelpers}; use dom::domtokenlist::DOMTokenList; use dom::eventtarget::{EventTarget, NodeTargetTypeId}; @@ -711,12 +711,12 @@ impl<'a> ElementMethods for JSRef<'a, Element> { } // http://dev.w3.org/csswg/cssom-view/#dom-element-getclientrects - fn GetClientRects(&self) -> Temporary { + fn GetClientRects(&self) -> Temporary { let win = window_from_node(self).root(); let node: &JSRef = NodeCast::from_ref(self); let rects = node.get_content_boxes(); - let rects: Vec> = rects.iter().map(|r| { - ClientRect::new( + let rects: Vec> = rects.iter().map(|r| { + DOMRect::new( &*win, r.origin.y, r.origin.y + r.size.height, @@ -724,15 +724,15 @@ impl<'a> ElementMethods for JSRef<'a, Element> { r.origin.x + r.size.width).root() }).collect(); - ClientRectList::new(&*win, rects.iter().map(|rect| rect.deref().clone()).collect()) + DOMRectList::new(&*win, rects.iter().map(|rect| rect.deref().clone()).collect()) } // http://dev.w3.org/csswg/cssom-view/#dom-element-getboundingclientrect - fn GetBoundingClientRect(&self) -> Temporary { + fn GetBoundingClientRect(&self) -> Temporary { let win = window_from_node(self).root(); let node: &JSRef = NodeCast::from_ref(self); let rect = node.get_bounding_content_box(); - ClientRect::new( + DOMRect::new( &*win, rect.origin.y, rect.origin.y + rect.size.height, diff --git a/src/components/script/dom/webidls/ClientRect.webidl b/src/components/script/dom/webidls/DOMRect.webidl similarity index 75% rename from src/components/script/dom/webidls/ClientRect.webidl rename to src/components/script/dom/webidls/DOMRect.webidl index dcec655aca7..6e0fe24b57d 100644 --- a/src/components/script/dom/webidls/ClientRect.webidl +++ b/src/components/script/dom/webidls/DOMRect.webidl @@ -1,10 +1,10 @@ /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. - */ + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -interface ClientRect { +// http://dev.w3.org/fxtf/geometry/#DOMRect +interface DOMRect { readonly attribute float top; readonly attribute float right; readonly attribute float bottom; diff --git a/src/components/script/dom/webidls/ClientRectList.webidl b/src/components/script/dom/webidls/DOMRectList.webidl similarity index 53% rename from src/components/script/dom/webidls/ClientRectList.webidl rename to src/components/script/dom/webidls/DOMRectList.webidl index 964425bd0f8..064014e9abe 100644 --- a/src/components/script/dom/webidls/ClientRectList.webidl +++ b/src/components/script/dom/webidls/DOMRectList.webidl @@ -1,10 +1,12 @@ /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. - */ + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -interface ClientRectList { +// http://dev.w3.org/fxtf/geometry/#DOMRectList +[NoInterfaceObject/*, + ArrayClass*/] +interface DOMRectList { readonly attribute unsigned long length; - getter ClientRect? item(unsigned long index); + getter DOMRect? item(unsigned long index); }; diff --git a/src/components/script/dom/webidls/Element.webidl b/src/components/script/dom/webidls/Element.webidl index a406494dc13..c48763c241f 100644 --- a/src/components/script/dom/webidls/Element.webidl +++ b/src/components/script/dom/webidls/Element.webidl @@ -54,8 +54,8 @@ interface Element : Node { // http://dev.w3.org/csswg/cssom-view/#extensions-to-the-element-interface partial interface Element { - ClientRectList getClientRects(); - ClientRect getBoundingClientRect(); + DOMRectList getClientRects(); + DOMRect getBoundingClientRect(); }; // http://domparsing.spec.whatwg.org/#extensions-to-the-element-interface diff --git a/src/components/script/script.rs b/src/components/script/script.rs index 1855a257932..0756d48ff3b 100644 --- a/src/components/script/script.rs +++ b/src/components/script/script.rs @@ -80,8 +80,8 @@ pub mod dom { pub mod browsercontext; pub mod canvasrenderingcontext2d; pub mod characterdata; - pub mod clientrect; - pub mod clientrectlist; + pub mod domrect; + pub mod domrectlist; pub mod comment; pub mod console; pub mod customevent; diff --git a/src/test/content/test_empty_clientrect.html b/src/test/content/test_empty_clientrect.html index 3671ca5bcc4..2504fa66396 100644 --- a/src/test/content/test_empty_clientrect.html +++ b/src/test/content/test_empty_clientrect.html @@ -4,14 +4,13 @@ diff --git a/src/test/content/test_getBoundingClientRect.html b/src/test/content/test_getBoundingClientRect.html index 4f25d97141c..560b92d0a20 100644 --- a/src/test/content/test_getBoundingClientRect.html +++ b/src/test/content/test_getBoundingClientRect.html @@ -2,12 +2,11 @@