mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
script: Move the stylesheet loading code from htmllinkelement to stylesheet_loader. Make it track subresource loads properly.
This commit is contained in:
parent
21bf91c386
commit
7582a2d59d
4 changed files with 274 additions and 154 deletions
|
@ -102,10 +102,19 @@ 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 sheet = Stylesheet::from_str(&data, url, Origin::Author, mq, win.css_error_reporter(),
|
||||
let loader = StylesheetLoader::for_element(self.upcast());
|
||||
let sheet = Stylesheet::from_str(&data, url, Origin::Author, mq,
|
||||
Some(&loader),
|
||||
win.css_error_reporter(),
|
||||
ParserContextExtraData::default());
|
||||
|
||||
let sheet = Arc::new(sheet);
|
||||
|
||||
// No subresource loads were triggered, just fire the load event now.
|
||||
if self.pending_loads.get() == 0 {
|
||||
self.upcast::<EventTarget>().fire_event(atom!("load"));
|
||||
}
|
||||
|
||||
win.layout_chan().send(Msg::AddStylesheet(sheet.clone())).unwrap();
|
||||
*self.stylesheet.borrow_mut() = Some(sheet);
|
||||
let doc = document_from_node(self);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue