mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Propagate quirks mode all the way to ParserContext
The quirks mode is still not properly propagated in geckolib.
This commit is contained in:
parent
10fb8e61c7
commit
f68e2fded9
39 changed files with 225 additions and 100 deletions
|
@ -5,6 +5,7 @@
|
|||
//! Gecko's media-query device and expression representation.
|
||||
|
||||
use app_units::Au;
|
||||
use context::QuirksMode;
|
||||
use cssparser::{CssStringWriter, Parser, Token};
|
||||
use euclid::Size2D;
|
||||
use font_metrics::get_metrics_provider_for_product;
|
||||
|
@ -521,7 +522,7 @@ impl Expression {
|
|||
}
|
||||
|
||||
/// Returns whether this media query evaluates to true for the given device.
|
||||
pub fn matches(&self, device: &Device) -> bool {
|
||||
pub fn matches(&self, device: &Device, quirks_mode: QuirksMode) -> bool {
|
||||
let mut css_value = nsCSSValue::null();
|
||||
unsafe {
|
||||
(self.feature.mGetter.unwrap())(device.pres_context,
|
||||
|
@ -534,12 +535,13 @@ impl Expression {
|
|||
None => return false,
|
||||
};
|
||||
|
||||
self.evaluate_against(device, &value)
|
||||
self.evaluate_against(device, &value, quirks_mode)
|
||||
}
|
||||
|
||||
fn evaluate_against(&self,
|
||||
device: &Device,
|
||||
actual_value: &MediaExpressionValue)
|
||||
actual_value: &MediaExpressionValue,
|
||||
quirks_mode: QuirksMode)
|
||||
-> bool {
|
||||
use self::MediaExpressionValue::*;
|
||||
use std::cmp::Ordering;
|
||||
|
@ -564,6 +566,8 @@ impl Expression {
|
|||
style: default_values.clone(),
|
||||
font_metrics_provider: &provider,
|
||||
in_media_query: true,
|
||||
// TODO: pass the correct value here.
|
||||
quirks_mode: quirks_mode,
|
||||
};
|
||||
|
||||
let required_value = match self.value {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue