style: Miscellaneous Servo build fixes.

This commit is contained in:
Emilio Cobos Álvarez 2020-02-10 16:50:40 +01:00
parent 18cda1567a
commit e227715aee
No known key found for this signature in database
GPG key ID: E1152D0994E4BF8A
12 changed files with 59 additions and 10 deletions

View file

@ -840,7 +840,10 @@ impl<'a, ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode>
match text_content {
TextContent::Text(string) => {
let info = Box::new(UnscannedTextFragmentInfo::new(string, node.selection()));
let info = Box::new(UnscannedTextFragmentInfo::new(
string.into(),
node.selection(),
));
let specific_fragment_info = SpecificFragmentInfo::UnscannedText(info);
fragments
.fragments
@ -857,7 +860,8 @@ impl<'a, ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode>
for content_item in content_items.into_iter() {
let specific_fragment_info = match content_item {
ContentItem::String(string) => {
let info = Box::new(UnscannedTextFragmentInfo::new(string, None));
let info =
Box::new(UnscannedTextFragmentInfo::new(string.into(), None));
SpecificFragmentInfo::UnscannedText(info)
},
content_item => {

View file

@ -95,7 +95,7 @@ impl ToLayout for TransformStyle {
type Type = wr::TransformStyle;
fn to_layout(&self) -> Self::Type {
match *self {
TransformStyle::Auto | TransformStyle::Flat => wr::TransformStyle::Flat,
TransformStyle::Flat => wr::TransformStyle::Flat,
TransformStyle::Preserve3d => wr::TransformStyle::Preserve3D,
}
}

View file

@ -309,7 +309,7 @@ impl Flow for TableFlow {
percentage: match *specified_inline_size {
Size::Auto => 0.0,
Size::LengthPercentage(ref lp) => {
lp.0.as_percentage().map_or(0.0, |p| p.0)
lp.0.to_percentage().map_or(0.0, |p| p.0)
},
},
preferred: Au(0),

View file

@ -437,7 +437,7 @@ impl Flow for TableRowFlow {
.unwrap_or(child_base.intrinsic_inline_sizes.minimum_inline_size),
percentage: match child_specified_inline_size {
Size::Auto => 0.0,
Size::LengthPercentage(ref lp) => lp.0.as_percentage().map_or(0.0, |p| p.0),
Size::LengthPercentage(ref lp) => lp.0.to_percentage().map_or(0.0, |p| p.0),
},
preferred: child_base.intrinsic_inline_sizes.preferred_inline_size,
constrained: match child_specified_inline_size {

View file

@ -117,12 +117,12 @@ impl BoxContentSizes {
.auto_is(Length::zero);
let max_inline_size = match style.max_box_size().inline {
MaxSize::None => None,
MaxSize::LengthPercentage(ref lp) => lp.as_length(),
MaxSize::LengthPercentage(ref lp) => lp.to_length(),
};
let clamp = |l: Length| l.clamp_between_extremums(min_inline_size, max_inline_size);
// Percentages for 'width' are treated as 'auto'
let inline_size = inline_size.map(|lp| lp.as_length());
let inline_size = inline_size.map(|lp| lp.to_length());
// The (inner) min/max-content are only used for 'auto'
let mut outer = match inline_size.non_auto().flatten() {
None => {

View file

@ -59,7 +59,7 @@ impl ComputedValuesExt for ComputedValues {
} else {
&position.height
};
matches!(size, Size::LengthPercentage(lp) if lp.0.as_length().is_some())
matches!(size, Size::LengthPercentage(lp) if lp.0.to_length().is_some())
}
fn inline_box_offsets_are_both_non_auto(&self) -> bool {

View file

@ -2902,6 +2902,7 @@ pub struct ComputedValues {
impl ComputedValues {
/// Returns the pseudo-element that this style represents.
#[cfg(feature = "servo")]
pub fn pseudo(&self) -> Option<<&PseudoElement> {
self.pseudo.as_ref()
}

View file

@ -1718,6 +1718,7 @@ impl Clone for StrongRuleNode {
}
impl Drop for StrongRuleNode {
#[cfg_attr(feature = "servo", allow(unused_mut))]
fn drop(&mut self) {
let node = unsafe { &*self.ptr() };

View file

@ -378,6 +378,19 @@ impl LengthPercentage {
}
}
/// Converts to a `<percentage>` if possible.
#[inline]
pub fn to_percentage(&self) -> Option<Percentage> {
match self.unpack() {
Unpacked::Length(..) => None,
Unpacked::Percentage(p) => Some(p),
Unpacked::Calc(ref c) => {
debug_assert!(!c.length.is_zero());
None
}
}
}
/// Return the specified percentage if any.
#[inline]
pub fn specified_percentage(&self) -> Option<Percentage> {
@ -405,7 +418,7 @@ impl LengthPercentage {
/// Convert the computed value into used value.
#[inline]
fn maybe_to_used_value(&self, container_len: Option<Length>) -> Option<Au> {
pub fn maybe_to_used_value(&self, container_len: Option<Length>) -> Option<Au> {
self.maybe_percentage_relative_to(container_len).map(Au::from)
}

View file

@ -168,8 +168,9 @@ pub enum GenericContent<ImageUrl> {
pub use self::GenericContent as Content;
impl<ImageUrl> Content<ImageUrl> {
/// Whether `self` represents list of items.
#[inline]
pub(crate) fn is_items(&self) -> bool {
pub fn is_items(&self) -> bool {
matches!(*self, Self::Items(..))
}

View file

@ -113,6 +113,7 @@ impl Parse for Content {
// normal | none | [ <string> | <counter> | open-quote | close-quote | no-open-quote |
// no-close-quote ]+
// TODO: <uri>, attr(<identifier>)
#[cfg_attr(feature = "servo", allow(unused_mut))]
fn parse<'i, 't>(
context: &ParserContext,
input: &mut Parser<'i, 't>,

View file

@ -38,6 +38,34 @@ impl DerefMut for OwnedStr {
}
}
impl OwnedStr {
/// Convert the OwnedStr into a boxed str.
#[inline]
pub fn into_box(self) -> Box<str> {
self.into_string().into_boxed_str()
}
/// Convert the OwnedStr into a `String`.
#[inline]
pub fn into_string(self) -> String {
unsafe { String::from_utf8_unchecked(self.0.into_vec()) }
}
}
impl From<OwnedStr> for String {
#[inline]
fn from(b: OwnedStr) -> Self {
b.into_string()
}
}
impl From<OwnedStr> for Box<str> {
#[inline]
fn from(b: OwnedStr) -> Self {
b.into_box()
}
}
impl From<Box<str>> for OwnedStr {
#[inline]
fn from(b: Box<str>) -> Self {