mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Bug 1298588 part 12. Compile some bits that call ComputedValues::initial_values only for servo, not stylo. r=bholley
Stylist::set_device seems to only be used in servo code, and is the only consumer of ViewportConstraints::maybe_new.
This commit is contained in:
parent
8367c96c1b
commit
62961370ec
2 changed files with 20 additions and 2 deletions
|
@ -11,7 +11,9 @@ use data::ComputedStyle;
|
||||||
use dom::{PresentationalHintsSynthetizer, TElement};
|
use dom::{PresentationalHintsSynthetizer, TElement};
|
||||||
use error_reporting::StdoutErrorReporter;
|
use error_reporting::StdoutErrorReporter;
|
||||||
use keyframes::KeyframesAnimation;
|
use keyframes::KeyframesAnimation;
|
||||||
use media_queries::{Device, MediaType};
|
use media_queries::Device;
|
||||||
|
#[cfg(feature = "servo")]
|
||||||
|
use media_queries::MediaType;
|
||||||
use parking_lot::RwLock;
|
use parking_lot::RwLock;
|
||||||
use properties::{self, CascadeFlags, ComputedValues, INHERIT_ALL, Importance};
|
use properties::{self, CascadeFlags, ComputedValues, INHERIT_ALL, Importance};
|
||||||
use properties::{PropertyDeclaration, PropertyDeclarationBlock};
|
use properties::{PropertyDeclaration, PropertyDeclarationBlock};
|
||||||
|
@ -34,6 +36,7 @@ use std::slice;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use style_traits::viewport::ViewportConstraints;
|
use style_traits::viewport::ViewportConstraints;
|
||||||
use stylesheets::{CssRule, Origin, StyleRule, Stylesheet, UserAgentStylesheets};
|
use stylesheets::{CssRule, Origin, StyleRule, Stylesheet, UserAgentStylesheets};
|
||||||
|
#[cfg(feature = "servo")]
|
||||||
use viewport::{self, MaybeNew, ViewportRule};
|
use viewport::{self, MaybeNew, ViewportRule};
|
||||||
|
|
||||||
pub use ::fnv::FnvHashMap;
|
pub use ::fnv::FnvHashMap;
|
||||||
|
@ -385,6 +388,10 @@ impl Stylist {
|
||||||
///
|
///
|
||||||
/// This means that we may need to rebuild style data even if the
|
/// This means that we may need to rebuild style data even if the
|
||||||
/// stylesheets haven't changed.
|
/// stylesheets haven't changed.
|
||||||
|
///
|
||||||
|
/// Viewport_Constraints::maybe_new is servo-only (see the comment above it
|
||||||
|
/// explaining why), so we need to be servo-only too, since we call it.
|
||||||
|
#[cfg(feature = "servo")]
|
||||||
pub fn set_device(&mut self, mut device: Device, stylesheets: &[Arc<Stylesheet>]) {
|
pub fn set_device(&mut self, mut device: Device, stylesheets: &[Arc<Stylesheet>]) {
|
||||||
let cascaded_rule = ViewportRule {
|
let cascaded_rule = ViewportRule {
|
||||||
declarations: viewport::Cascade::from_stylesheets(stylesheets, &device).finish(),
|
declarations: viewport::Cascade::from_stylesheets(stylesheets, &device).finish(),
|
||||||
|
|
|
@ -9,13 +9,18 @@
|
||||||
|
|
||||||
#![deny(missing_docs)]
|
#![deny(missing_docs)]
|
||||||
|
|
||||||
|
#[cfg(feature = "servo")]
|
||||||
use app_units::Au;
|
use app_units::Au;
|
||||||
use cssparser::{AtRuleParser, DeclarationListParser, DeclarationParser, Parser, parse_important};
|
use cssparser::{AtRuleParser, DeclarationListParser, DeclarationParser, Parser, parse_important};
|
||||||
use cssparser::ToCss as ParserToCss;
|
use cssparser::ToCss as ParserToCss;
|
||||||
|
#[cfg(feature = "servo")]
|
||||||
use euclid::scale_factor::ScaleFactor;
|
use euclid::scale_factor::ScaleFactor;
|
||||||
use euclid::size::{Size2D, TypedSize2D};
|
#[cfg(feature = "servo")]
|
||||||
|
use euclid::size::Size2D;
|
||||||
|
use euclid::size::TypedSize2D;
|
||||||
use media_queries::Device;
|
use media_queries::Device;
|
||||||
use parser::{ParserContext, log_css_error};
|
use parser::{ParserContext, log_css_error};
|
||||||
|
#[cfg(feature = "servo")]
|
||||||
use properties::ComputedValues;
|
use properties::ComputedValues;
|
||||||
use std::ascii::AsciiExt;
|
use std::ascii::AsciiExt;
|
||||||
use std::borrow::Cow;
|
use std::borrow::Cow;
|
||||||
|
@ -25,6 +30,7 @@ use std::str::Chars;
|
||||||
use style_traits::{ToCss, ViewportPx};
|
use style_traits::{ToCss, ViewportPx};
|
||||||
use style_traits::viewport::{Orientation, UserZoom, ViewportConstraints, Zoom};
|
use style_traits::viewport::{Orientation, UserZoom, ViewportConstraints, Zoom};
|
||||||
use stylesheets::{Stylesheet, Origin};
|
use stylesheets::{Stylesheet, Origin};
|
||||||
|
#[cfg(feature = "servo")]
|
||||||
use values::computed::{Context, ToComputedValue};
|
use values::computed::{Context, ToComputedValue};
|
||||||
use values::specified::{Length, LengthOrPercentageOrAuto, ViewportPercentageLength};
|
use values::specified::{Length, LengthOrPercentageOrAuto, ViewportPercentageLength};
|
||||||
|
|
||||||
|
@ -605,6 +611,11 @@ pub trait MaybeNew {
|
||||||
-> Option<ViewportConstraints>;
|
-> Option<ViewportConstraints>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// MaybeNew for ViewportConstraints uses ComputedValues::initial_values which
|
||||||
|
/// is servo-only (not present in gecko). Once it has been changed to properly
|
||||||
|
/// use per-document initial computed values, or not use the initial computed
|
||||||
|
/// values at all, it can go back to being compiled unconditionally.
|
||||||
|
#[cfg(feature = "servo")]
|
||||||
impl MaybeNew for ViewportConstraints {
|
impl MaybeNew for ViewportConstraints {
|
||||||
fn maybe_new(initial_viewport: TypedSize2D<f32, ViewportPx>,
|
fn maybe_new(initial_viewport: TypedSize2D<f32, ViewportPx>,
|
||||||
rule: &ViewportRule)
|
rule: &ViewportRule)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue