diff options
author | Ms2ger <ms2ger@gmail.com> | 2015-05-10 11:45:45 +0200 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2015-05-10 18:26:02 +0200 |
commit | 2ff18b6b95b869acc365986dccc257b6a9ed0cab (patch) | |
tree | 841c4d202216046be430e753ce7ab3bdb47bf060 /components/script/dom/htmlstyleelement.rs | |
parent | 54b1c9af11f77ae9e4e92531a12b2a1dc1aa10f7 (diff) | |
download | servo-2ff18b6b95b869acc365986dccc257b6a9ed0cab.tar.gz servo-2ff18b6b95b869acc365986dccc257b6a9ed0cab.zip |
Stop using TElement's unsound get_attr in link/style code.
Diffstat (limited to 'components/script/dom/htmlstyleelement.rs')
-rw-r--r-- | components/script/dom/htmlstyleelement.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/components/script/dom/htmlstyleelement.rs b/components/script/dom/htmlstyleelement.rs index 93886218a62..572c7df38eb 100644 --- a/components/script/dom/htmlstyleelement.rs +++ b/components/script/dom/htmlstyleelement.rs @@ -2,13 +2,14 @@ * 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::attr::AttrHelpers; use dom::bindings::codegen::Bindings::HTMLStyleElementBinding; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, HTMLStyleElementDerived, NodeCast}; -use dom::bindings::js::{JSRef, OptionalRootable, Rootable, Temporary}; +use dom::bindings::js::{JSRef, OptionalRootable, Rootable, Temporary, RootedReference}; use dom::document::Document; use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::element::{Element, ElementTypeId}; +use dom::element::{Element, ElementTypeId, AttributeHandlers}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, NodeHelpers, NodeTypeId, window_from_node}; use dom::virtualmethods::VirtualMethods; @@ -17,7 +18,6 @@ use layout_interface::{LayoutChan, Msg}; use util::str::DOMString; use style::stylesheets::{Origin, Stylesheet}; use style::media_queries::parse_media_query_list; -use style::node::TElement; use cssparser::Parser as CssParser; #[dom_struct] @@ -59,7 +59,12 @@ impl<'a> StyleElementHelpers for JSRef<'a, HTMLStyleElement> { let win = win.r(); let url = win.get_url(); - let mq_str = element.get_attr(&ns!(""), &atom!("media")).unwrap_or(""); + let mq_attribute = element.get_attribute(&ns!(""), &atom!("media")).root(); + let value = mq_attribute.r().map(|a| a.value()); + let mq_str = match value { + Some(ref value) => &***value, + None => "", + }; let mut css_parser = CssParser::new(&mq_str); let media = parse_media_query_list(&mut css_parser); |