diff options
author | Mahdi Dibaiee <mdibaiee@aol.com> | 2015-08-20 00:53:46 +0430 |
---|---|---|
committer | Mahdi Dibaiee <mdibaiee@aol.com> | 2015-08-22 15:16:15 +0430 |
commit | b7d25159d3ab5b1a5a9bc93df522b755c18f95ff (patch) | |
tree | a8891ebc83e87c4467c4eeaf45813e3a3943fbc7 /components/script | |
parent | 70b9922eb021a41ebdd9f54a4db0e9ddfb17786a (diff) | |
download | servo-b7d25159d3ab5b1a5a9bc93df522b755c18f95ff.tar.gz servo-b7d25159d3ab5b1a5a9bc93df522b755c18f95ff.zip |
Fix #7268 - getComputedStyle should take `Element`, not `HTMLElement`
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/dom/cssstyledeclaration.rs | 11 | ||||
-rw-r--r-- | components/script/dom/htmlelement.rs | 3 | ||||
-rw-r--r-- | components/script/dom/webidls/Window.webidl | 3 | ||||
-rw-r--r-- | components/script/dom/window.rs | 3 |
4 files changed, 8 insertions, 12 deletions
diff --git a/components/script/dom/cssstyledeclaration.rs b/components/script/dom/cssstyledeclaration.rs index 4c5fc207674..d03b3256cca 100644 --- a/components/script/dom/cssstyledeclaration.rs +++ b/components/script/dom/cssstyledeclaration.rs @@ -9,8 +9,7 @@ use dom::bindings::global::GlobalRef; use dom::bindings::js::{JS, Root}; use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::document::DocumentHelpers; -use dom::element::{ElementHelpers, StylePriority}; -use dom::htmlelement::HTMLElement; +use dom::element::{ElementHelpers, StylePriority, Element}; use dom::node::{window_from_node, document_from_node, NodeDamage, NodeHelpers}; use dom::window::{Window, WindowHelpers}; use util::str::DOMString; @@ -28,7 +27,7 @@ use std::cell::Ref; #[derive(HeapSizeOf)] pub struct CSSStyleDeclaration { reflector_: Reflector, - owner: JS<HTMLElement>, + owner: JS<Element>, readonly: bool, pseudo: Option<PseudoElement>, } @@ -59,7 +58,7 @@ fn serialize_list(list: &[Ref<PropertyDeclaration>]) -> DOMString { } impl CSSStyleDeclaration { - pub fn new_inherited(owner: &HTMLElement, + pub fn new_inherited(owner: &Element, pseudo: Option<PseudoElement>, modification_access: CSSModificationAccess) -> CSSStyleDeclaration { CSSStyleDeclaration { @@ -70,7 +69,7 @@ impl CSSStyleDeclaration { } } - pub fn new(global: &Window, owner: &HTMLElement, + pub fn new(global: &Window, owner: &Element, pseudo: Option<PseudoElement>, modification_access: CSSModificationAccess) -> Root<CSSStyleDeclaration> { reflect_dom_object(box CSSStyleDeclaration::new_inherited(owner, pseudo, modification_access), @@ -84,7 +83,7 @@ trait PrivateCSSStyleDeclarationHelpers { fn get_important_declaration(&self, property: &Atom) -> Option<Ref<PropertyDeclaration>>; } -impl PrivateCSSStyleDeclarationHelpers for HTMLElement { +impl PrivateCSSStyleDeclarationHelpers for Element { fn get_declaration(&self, property: &Atom) -> Option<Ref<PropertyDeclaration>> { let element = ElementCast::from_ref(self); element.get_inline_style_declaration(property) diff --git a/components/script/dom/htmlelement.rs b/components/script/dom/htmlelement.rs index e5f8f35221b..66b1bfc82fc 100644 --- a/components/script/dom/htmlelement.rs +++ b/components/script/dom/htmlelement.rs @@ -136,7 +136,7 @@ impl<'a> HTMLElementMethods for &'a HTMLElement { fn Style(self) -> Root<CSSStyleDeclaration> { self.style_decl.or_init(|| { let global = window_from_node(self); - CSSStyleDeclaration::new(global.r(), self, None, CSSModificationAccess::ReadWrite) + CSSStyleDeclaration::new(global.r(), ElementCast::from_ref(self), None, CSSModificationAccess::ReadWrite) }) } @@ -458,4 +458,3 @@ impl PartialEq for HTMLElementTypeId { } } } - diff --git a/components/script/dom/webidls/Window.webidl b/components/script/dom/webidls/Window.webidl index b5417eee057..b448ca4ffb1 100644 --- a/components/script/dom/webidls/Window.webidl +++ b/components/script/dom/webidls/Window.webidl @@ -95,9 +95,8 @@ partial interface Window { // https://drafts.csswg.org/cssom/#extensions-to-the-window-interface partial interface Window { - //CSSStyleDeclaration getComputedStyle(Element elt, optional DOMString? pseudoElt); [NewObject] - CSSStyleDeclaration getComputedStyle(HTMLElement elt, optional DOMString pseudoElt); + CSSStyleDeclaration getComputedStyle(Element elt, optional DOMString pseudoElt); }; // http://dev.w3.org/csswg/cssom-view/#extensions-to-the-window-interface diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index 82e3247dc8e..90700d2047f 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -24,7 +24,6 @@ use dom::cssstyledeclaration::{CSSModificationAccess, CSSStyleDeclaration}; use dom::document::{Document, DocumentHelpers}; use dom::element::Element; use dom::eventtarget::{EventTarget, EventTargetHelpers, EventTargetTypeId}; -use dom::htmlelement::HTMLElement; use dom::location::Location; use dom::navigator::Navigator; use dom::node::{window_from_node, TrustedNodeAddress, NodeHelpers, from_untrusted_node_address}; @@ -576,7 +575,7 @@ impl<'a> WindowMethods for &'a Window { // https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle fn GetComputedStyle(self, - element: &HTMLElement, + element: &Element, pseudo: Option<DOMString>) -> Root<CSSStyleDeclaration> { // Steps 1-4. let pseudo = match pseudo.map(|s| s.to_ascii_lowercase()) { |