mirror of
https://github.com/servo/servo.git
synced 2025-08-12 00:45:33 +01:00
Bug 1325878: Pass the MediaList down to Servo, making <style media> work. r=xidorn
MozReview-Commit-ID: BUCSQJs2CNI Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
This commit is contained in:
parent
482740bb11
commit
ac7bc414d9
14 changed files with 63 additions and 43 deletions
|
@ -12,6 +12,7 @@ use media_queries::MediaList;
|
|||
use self::encoding::{EncodingRef, DecoderTrap};
|
||||
use shared_lock::SharedRwLock;
|
||||
use std::str;
|
||||
use std::sync::Arc;
|
||||
use stylesheets::{Stylesheet, StylesheetLoader, Origin, UrlExtraData};
|
||||
|
||||
struct RustEncoding;
|
||||
|
@ -62,7 +63,7 @@ impl Stylesheet {
|
|||
Stylesheet::from_str(&string,
|
||||
url_data,
|
||||
origin,
|
||||
media,
|
||||
Arc::new(shared_lock.wrap(media)),
|
||||
shared_lock,
|
||||
stylesheet_loader,
|
||||
error_reporter)
|
||||
|
|
|
@ -35,8 +35,9 @@ impl ToCss for MediaList {
|
|||
}
|
||||
}
|
||||
|
||||
impl Default for MediaList {
|
||||
fn default() -> MediaList {
|
||||
impl MediaList {
|
||||
/// Create an empty MediaList.
|
||||
pub fn empty() -> Self {
|
||||
MediaList { media_queries: vec![] }
|
||||
}
|
||||
}
|
||||
|
@ -251,7 +252,7 @@ impl MediaQuery {
|
|||
/// https://drafts.csswg.org/mediaqueries/#error-handling
|
||||
pub fn parse_media_query_list(context: &ParserContext, input: &mut Parser) -> MediaList {
|
||||
if input.is_exhausted() {
|
||||
return Default::default()
|
||||
return MediaList::empty()
|
||||
}
|
||||
|
||||
let mut media_queries = vec![];
|
||||
|
|
|
@ -723,7 +723,7 @@ impl Stylesheet {
|
|||
pub fn from_str(css: &str,
|
||||
url_data: UrlExtraData,
|
||||
origin: Origin,
|
||||
media: MediaList,
|
||||
media: Arc<Locked<MediaList>>,
|
||||
shared_lock: SharedRwLock,
|
||||
stylesheet_loader: Option<&StylesheetLoader>,
|
||||
error_reporter: &ParseErrorReporter) -> Stylesheet {
|
||||
|
@ -737,7 +737,7 @@ impl Stylesheet {
|
|||
url_data: url_data,
|
||||
namespaces: RwLock::new(namespaces),
|
||||
rules: CssRules::new(rules, &shared_lock),
|
||||
media: Arc::new(shared_lock.wrap(media)),
|
||||
media: media,
|
||||
shared_lock: shared_lock,
|
||||
dirty_on_viewport_size_change: AtomicBool::new(dirty_on_viewport_size_change),
|
||||
disabled: AtomicBool::new(false),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue