Pass borrowed child stylesheet to Gecko for loading rather than the import rule.

This commit is contained in:
Xidorn Quan 2017-04-03 21:17:08 +10:00
parent fac0d17fd6
commit 975043d0ce

View file

@ -8,7 +8,7 @@ use style::gecko_bindings::structs::{Loader, ServoStyleSheet};
use style::gecko_bindings::sugar::ownership::HasArcFFI;
use style::media_queries::MediaList;
use style::shared_lock::Locked;
use style::stylesheets::{ImportRule, StylesheetLoader as StyleStylesheetLoader};
use style::stylesheets::{ImportRule, Stylesheet, StylesheetLoader as StyleStylesheetLoader};
use style_traits::ToCss;
pub struct StylesheetLoader(*mut Loader, *mut ServoStyleSheet);
@ -45,17 +45,16 @@ impl StyleStylesheetLoader for StylesheetLoader {
let (spec_bytes, spec_len): (*const u8, usize) = import.url.as_slice_components();
let base_url_data = import.url.extra_data.get();
let arc = make_arc(import);
unsafe {
Gecko_LoadStyleSheet(self.0,
self.1,
HasArcFFI::arc_as_borrowed(&arc),
Stylesheet::arc_as_borrowed(&import.stylesheet),
base_url_data,
spec_bytes,
spec_len as u32,
media_string.as_bytes().as_ptr(),
media_string.len() as u32);
}
arc
make_arc(import)
}
}