diff options
Diffstat (limited to 'components/script/dom/htmlstyleelement.rs')
-rw-r--r-- | components/script/dom/htmlstyleelement.rs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/components/script/dom/htmlstyleelement.rs b/components/script/dom/htmlstyleelement.rs index c3ef5767f2b..fa0cdc92eab 100644 --- a/components/script/dom/htmlstyleelement.rs +++ b/components/script/dom/htmlstyleelement.rs @@ -25,7 +25,8 @@ use script_layout_interface::message::Msg; use std::cell::Cell; use std::sync::Arc; use style::media_queries::parse_media_query_list; -use style::stylesheets::{Stylesheet, Origin}; +use style::parser::ParserContext as CssParserContext; +use style::stylesheets::{CssRuleType, Stylesheet, Origin}; use stylesheet_loader::{StylesheetLoader, StylesheetOwner}; #[dom_struct] @@ -73,7 +74,6 @@ impl HTMLStyleElement { assert!(node.is_in_doc()); let win = window_from_node(node); - let url = win.get_url(); let mq_attribute = element.get_attribute(&ns!(), &local_name!("media")); let mq_str = match mq_attribute { @@ -82,10 +82,14 @@ impl HTMLStyleElement { }; let data = node.GetTextContent().expect("Element.textContent must be a string"); - let mq = parse_media_query_list(&mut CssParser::new(&mq_str)); + let url = win.get_url(); + let context = CssParserContext::new_for_cssom(&url, + win.css_error_reporter(), + Some(CssRuleType::Media)); + let mq = parse_media_query_list(&context, &mut CssParser::new(&mq_str)); let shared_lock = node.owner_doc().style_shared_lock().clone(); let loader = StylesheetLoader::for_element(self.upcast()); - let sheet = Stylesheet::from_str(&data, url, Origin::Author, mq, + let sheet = Stylesheet::from_str(&data, win.get_url(), Origin::Author, mq, shared_lock, Some(&loader), win.css_error_reporter()); |