Auto merge of #26079 - servo:box-sizing, r=nox

Implement the `box-sizing` property
This commit is contained in:
bors-servo 2020-04-01 07:49:08 -04:00 committed by GitHub
commit 5926577534
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
134 changed files with 3964 additions and 274 deletions

View file

@ -206,7 +206,7 @@ impl InlineFormattingContext {
}
}
fn add_lengthpercentage(&mut self, lp: LengthPercentage) {
fn add_lengthpercentage(&mut self, lp: &LengthPercentage) {
if let Some(l) = lp.to_length() {
self.add_length(l);
}
@ -421,13 +421,11 @@ impl InlineBox {
ifc: &mut InlineFormattingContextState<'box_tree, '_, '_>,
) -> PartialInlineBoxFragment<'box_tree> {
let style = self.style.clone();
let cbis = ifc.containing_block.inline_size;
let mut padding = style.padding().percentages_relative_to(cbis);
let mut border = style.border_width();
let mut margin = style
.margin()
.percentages_relative_to(cbis)
.auto_is(Length::zero);
let pbm = style.padding_border_margin(&ifc.containing_block);
let mut padding = pbm.padding;
let mut border = pbm.border;
let mut margin = pbm.margin.auto_is(Length::zero);
if self.first_fragment {
ifc.inline_position += padding.inline_start + border.inline_start + margin.inline_start;
} else {
@ -530,18 +528,12 @@ fn layout_atomic(
ifc: &mut InlineFormattingContextState,
atomic: &IndependentFormattingContext,
) {
let cbis = ifc.containing_block.inline_size;
let padding = atomic.style.padding().percentages_relative_to(cbis);
let border = atomic.style.border_width();
let margin = atomic
.style
.margin()
.percentages_relative_to(cbis)
.auto_is(Length::zero);
let pbm = &(&padding + &border) + &margin;
ifc.inline_position += pbm.inline_start;
let pbm = atomic.style.padding_border_margin(&ifc.containing_block);
let margin = pbm.margin.auto_is(Length::zero);
let pbm_sums = &(&pbm.padding + &pbm.border) + &margin;
ifc.inline_position += pbm_sums.inline_start;
let mut start_corner = Vec2 {
block: pbm.block_start,
block: pbm_sums.block_start,
inline: ifc.inline_position - ifc.current_nesting_level.inline_start,
};
if atomic.style.clone_position().is_relative() {
@ -550,7 +542,8 @@ fn layout_atomic(
let fragment = match atomic.as_replaced() {
Ok(replaced) => {
let size = replaced.used_size_as_if_inline_element(ifc.containing_block, &atomic.style);
let size =
replaced.used_size_as_if_inline_element(ifc.containing_block, &atomic.style, &pbm);
let fragments = replaced.make_fragments(&atomic.style, size.clone());
let content_rect = Rect { start_corner, size };
BoxFragment::new(
@ -558,30 +551,27 @@ fn layout_atomic(
atomic.style.clone(),
fragments,
content_rect,
padding,
border,
pbm.padding,
pbm.border,
margin,
CollapsedBlockMargins::zero(),
)
},
Err(non_replaced) => {
let box_size = atomic.style.box_size();
let box_size = atomic.style.content_box_size(&ifc.containing_block, &pbm);
let max_box_size = atomic
.style
.max_box_size()
.percentages_relative_to(ifc.containing_block);
.content_max_box_size(&ifc.containing_block, &pbm);
let min_box_size = atomic
.style
.min_box_size()
.percentages_relative_to(ifc.containing_block)
.content_min_box_size(&ifc.containing_block, &pbm)
.auto_is(Length::zero);
// https://drafts.csswg.org/css2/visudet.html#inlineblock-width
let tentative_inline_size =
box_size.inline.percentage_relative_to(cbis).auto_is(|| {
let available_size = cbis - pbm.inline_sum();
atomic.content_sizes.shrink_to_fit(available_size)
});
let tentative_inline_size = box_size.inline.auto_is(|| {
let available_size = ifc.containing_block.inline_size - pbm_sums.inline_sum();
atomic.content_sizes.shrink_to_fit(available_size)
});
// https://drafts.csswg.org/css2/visudet.html#min-max-widths
// In this case “applying the rules above again” with a non-auto inline-size
@ -589,12 +579,9 @@ fn layout_atomic(
let inline_size = tentative_inline_size
.clamp_between_extremums(min_box_size.inline, max_box_size.inline);
let block_size = box_size
.block
.maybe_percentage_relative_to(ifc.containing_block.block_size.non_auto());
let containing_block_for_children = ContainingBlock {
inline_size,
block_size,
block_size: box_size.block,
style: &atomic.style,
};
assert_eq!(
@ -613,7 +600,9 @@ fn layout_atomic(
);
// https://drafts.csswg.org/css2/visudet.html#block-root-margin
let tentative_block_size = block_size.auto_is(|| independent_layout.content_block_size);
let tentative_block_size = box_size
.block
.auto_is(|| independent_layout.content_block_size);
// https://drafts.csswg.org/css2/visudet.html#min-max-heights
// In this case “applying the rules above again” with a non-auto block-size
@ -633,18 +622,18 @@ fn layout_atomic(
atomic.style.clone(),
independent_layout.fragments,
content_rect,
padding,
border,
pbm.padding,
pbm.border,
margin,
CollapsedBlockMargins::zero(),
)
},
};
ifc.inline_position += pbm.inline_end + fragment.content_rect.size.inline;
ifc.inline_position += pbm_sums.inline_end + fragment.content_rect.size.inline;
ifc.current_nesting_level
.max_block_size_of_fragments_so_far
.max_assign(pbm.block_sum() + fragment.content_rect.size.block);
.max_assign(pbm_sums.block_sum() + fragment.content_rect.size.block);
ifc.current_nesting_level
.fragments_so_far
.push(Fragment::Box(fragment));

View file

@ -14,7 +14,7 @@ use crate::fragments::{CollapsedBlockMargins, CollapsedMargin, Fragment};
use crate::geom::flow_relative::{Rect, Sides, Vec2};
use crate::positioned::{AbsolutelyPositionedBox, PositioningContext};
use crate::replaced::ReplacedContent;
use crate::style_ext::ComputedValuesExt;
use crate::style_ext::{ComputedValuesExt, PaddingBorderMargin};
use crate::ContainingBlock;
use rayon::iter::{IndexedParallelIterator, IntoParallelRefIterator, ParallelIterator};
use rayon_croissant::ParallelIteratorExt;
@ -350,40 +350,27 @@ fn layout_in_flow_non_replaced_block_level(
tree_rank: usize,
float_context: Option<&mut FloatContext>,
) -> BoxFragment {
let cbis = containing_block.inline_size;
let padding = style.padding().percentages_relative_to(cbis);
let border = style.border_width();
let margin = style.margin().percentages_relative_to(cbis);
let pb = &padding + &border;
let pb_inline_sum = pb.inline_sum();
let box_size = style.box_size().percentages_relative_to(containing_block);
let max_box_size = style
.max_box_size()
.percentages_relative_to(containing_block);
let pbm = style.padding_border_margin(containing_block);
let box_size = style.content_box_size(containing_block, &pbm);
let max_box_size = style.content_max_box_size(containing_block, &pbm);
let min_box_size = style
.min_box_size()
.percentages_relative_to(containing_block)
.content_min_box_size(containing_block, &pbm)
.auto_is(Length::zero);
// https://drafts.csswg.org/css2/visudet.html#min-max-widths
let solve_inline_margins = |inline_size| {
solve_inline_margins_for_in_flow_block_level(
containing_block,
pb_inline_sum,
margin.inline_start,
margin.inline_end,
inline_size,
)
solve_inline_margins_for_in_flow_block_level(containing_block, &pbm, inline_size)
};
let (mut inline_size, mut inline_margins) =
if let Some(inline_size) = box_size.inline.non_auto() {
(inline_size, solve_inline_margins(inline_size))
} else {
let margin_inline_start = margin.inline_start.auto_is(Length::zero);
let margin_inline_end = margin.inline_end.auto_is(Length::zero);
let margin_inline_sum = margin_inline_start + margin_inline_end;
let inline_size = cbis - pb_inline_sum - margin_inline_sum;
let margin_inline_start = pbm.margin.inline_start.auto_is(Length::zero);
let margin_inline_end = pbm.margin.inline_end.auto_is(Length::zero);
let inline_size = containing_block.inline_size -
pbm.padding_border_sums.inline -
margin_inline_start -
margin_inline_end;
(inline_size, (margin_inline_start, margin_inline_end))
};
if let Some(max_inline_size) = max_box_size.inline {
@ -400,8 +387,8 @@ fn layout_in_flow_non_replaced_block_level(
let margin = Sides {
inline_start: inline_margins.0,
inline_end: inline_margins.1,
block_start: margin.block_start.auto_is(Length::zero),
block_end: margin.block_end.auto_is(Length::zero),
block_start: pbm.margin.block_start.auto_is(Length::zero),
block_end: pbm.margin.block_end.auto_is(Length::zero),
};
// https://drafts.csswg.org/css2/visudet.html#min-max-heights
@ -427,8 +414,10 @@ fn layout_in_flow_non_replaced_block_level(
let mut content_block_size;
match block_level_kind {
NonReplacedContents::SameFormattingContextBlock(contents) => {
let this_start_margin_can_collapse_with_children = pb.block_start == Length::zero();
let this_end_margin_can_collapse_with_children = pb.block_end == Length::zero() &&
let start_margin_can_collapse_with_children = pbm.padding.block_start == Length::zero() &&
pbm.border.block_start == Length::zero();
let end_margin_can_collapse_with_children = pbm.padding.block_end == Length::zero() &&
pbm.border.block_end == Length::zero() &&
block_size == LengthOrAuto::Auto &&
min_box_size.block == Length::zero();
@ -438,13 +427,13 @@ fn layout_in_flow_non_replaced_block_level(
&containing_block_for_children,
tree_rank,
float_context,
CollapsibleWithParentStartMargin(this_start_margin_can_collapse_with_children),
CollapsibleWithParentStartMargin(start_margin_can_collapse_with_children),
);
fragments = flow_layout.fragments;
content_block_size = flow_layout.content_block_size;
let mut collapsible_margins_in_children = flow_layout.collapsible_margins_in_children;
if this_start_margin_can_collapse_with_children {
if start_margin_can_collapse_with_children {
block_margins_collapsed_with_children
.start
.adjoin_assign(&collapsible_margins_in_children.start);
@ -457,7 +446,7 @@ fn layout_in_flow_non_replaced_block_level(
));
}
}
if this_end_margin_can_collapse_with_children {
if end_margin_can_collapse_with_children {
block_margins_collapsed_with_children
.end
.adjoin_assign(&collapsible_margins_in_children.end);
@ -465,8 +454,8 @@ fn layout_in_flow_non_replaced_block_level(
content_block_size += collapsible_margins_in_children.end.solve();
}
block_margins_collapsed_with_children.collapsed_through =
this_start_margin_can_collapse_with_children &&
this_end_margin_can_collapse_with_children &&
start_margin_can_collapse_with_children &&
end_margin_can_collapse_with_children &&
collapsible_margins_in_children.collapsed_through;
},
NonReplacedContents::EstablishesAnIndependentFormattingContext(non_replaced) => {
@ -485,8 +474,8 @@ fn layout_in_flow_non_replaced_block_level(
});
let content_rect = Rect {
start_corner: Vec2 {
block: pb.block_start,
inline: pb.inline_start + margin.inline_start,
block: pbm.padding.block_start + pbm.border.block_start,
inline: pbm.padding.inline_start + pbm.border.inline_start + margin.inline_start,
},
size: Vec2 {
block: block_size,
@ -498,8 +487,8 @@ fn layout_in_flow_non_replaced_block_level(
style.clone(),
fragments,
content_rect,
padding,
border,
pbm.padding,
pbm.border,
margin,
block_margins_collapsed_with_children,
)
@ -514,32 +503,22 @@ fn layout_in_flow_replaced_block_level<'a>(
style: &Arc<ComputedValues>,
replaced: &ReplacedContent,
) -> BoxFragment {
let size = replaced.used_size_as_if_inline_element(containing_block, style);
let pbm = style.padding_border_margin(containing_block);
let size = replaced.used_size_as_if_inline_element(containing_block, style, &pbm);
let cbis = containing_block.inline_size;
let padding = style.padding().percentages_relative_to(cbis);
let border = style.border_width();
let computed_margin = style.margin().percentages_relative_to(cbis);
let pb = &padding + &border;
let (margin_inline_start, margin_inline_end) = solve_inline_margins_for_in_flow_block_level(
containing_block,
pb.inline_sum(),
computed_margin.inline_start,
computed_margin.inline_end,
size.inline,
);
let (margin_inline_start, margin_inline_end) =
solve_inline_margins_for_in_flow_block_level(containing_block, &pbm, size.inline);
let margin = Sides {
inline_start: margin_inline_start,
inline_end: margin_inline_end,
block_start: computed_margin.block_start.auto_is(Length::zero),
block_end: computed_margin.block_end.auto_is(Length::zero),
block_start: pbm.margin.block_start.auto_is(Length::zero),
block_end: pbm.margin.block_end.auto_is(Length::zero),
};
let fragments = replaced.make_fragments(style, size.clone());
let content_rect = Rect {
start_corner: Vec2 {
block: pb.block_start,
inline: pb.inline_start + margin.inline_start,
block: pbm.padding.block_start + pbm.border.block_start,
inline: pbm.padding.inline_start + pbm.border.inline_start + margin.inline_start,
},
size,
};
@ -549,8 +528,8 @@ fn layout_in_flow_replaced_block_level<'a>(
style.clone(),
fragments,
content_rect,
padding,
border,
pbm.padding,
pbm.border,
margin,
block_margins_collapsed_with_children,
)
@ -558,15 +537,13 @@ fn layout_in_flow_replaced_block_level<'a>(
fn solve_inline_margins_for_in_flow_block_level(
containing_block: &ContainingBlock,
padding_border_inline_sum: Length,
computed_margin_inline_start: LengthOrAuto,
computed_margin_inline_end: LengthOrAuto,
pbm: &PaddingBorderMargin,
inline_size: Length,
) -> (Length, Length) {
let inline_margins = containing_block.inline_size - padding_border_inline_sum - inline_size;
match (computed_margin_inline_start, computed_margin_inline_end) {
(LengthOrAuto::Auto, LengthOrAuto::Auto) => (inline_margins / 2., inline_margins / 2.),
(LengthOrAuto::Auto, LengthOrAuto::LengthPercentage(end)) => (inline_margins - end, end),
(LengthOrAuto::LengthPercentage(start), _) => (start, inline_margins - start),
let available = containing_block.inline_size - pbm.padding_border_sums.inline - inline_size;
match (pbm.margin.inline_start, pbm.margin.inline_end) {
(LengthOrAuto::Auto, LengthOrAuto::Auto) => (available / 2., available / 2.),
(LengthOrAuto::Auto, LengthOrAuto::LengthPercentage(end)) => (available - end, end),
(LengthOrAuto::LengthPercentage(start), _) => (start, available - start),
}
}

View file

@ -7,8 +7,8 @@ use std::fmt;
use std::ops::{Add, AddAssign, Sub};
use style::logical_geometry::{BlockFlowDirection, InlineBaseDirection};
use style::logical_geometry::{PhysicalCorner, WritingMode};
use style::values::computed::{Length, LengthOrAuto, LengthPercentage, LengthPercentageOrAuto};
use style::values::generics::length::MaxSize;
use style::values::computed::{Length, LengthPercentage};
use style::values::generics::length::GenericLengthPercentageOrAuto as AutoOr;
use style::Zero;
use style_traits::CSSPixel;
@ -16,6 +16,8 @@ pub type PhysicalPoint<U> = euclid::Point2D<U, CSSPixel>;
pub type PhysicalSize<U> = euclid::Size2D<U, CSSPixel>;
pub type PhysicalRect<U> = euclid::Rect<U, CSSPixel>;
pub type PhysicalSides<U> = euclid::SideOffsets2D<U, CSSPixel>;
pub type LengthOrAuto = AutoOr<Length>;
pub type LengthPercentageOrAuto<'a> = AutoOr<&'a LengthPercentage>;
pub(crate) mod flow_relative {
#[derive(Clone, Serialize)]
@ -107,7 +109,7 @@ impl flow_relative::Vec2<LengthOrAuto> {
}
}
impl flow_relative::Vec2<LengthPercentageOrAuto> {
impl flow_relative::Vec2<LengthPercentageOrAuto<'_>> {
pub fn percentages_relative_to(
&self,
containing_block: &ContainingBlock,
@ -123,24 +125,18 @@ impl flow_relative::Vec2<LengthPercentageOrAuto> {
}
}
impl flow_relative::Vec2<MaxSize<LengthPercentage>> {
impl flow_relative::Vec2<Option<&'_ LengthPercentage>> {
pub fn percentages_relative_to(
&self,
containing_block: &ContainingBlock,
) -> flow_relative::Vec2<Option<Length>> {
flow_relative::Vec2 {
inline: match self.inline {
MaxSize::None => None,
MaxSize::LengthPercentage(ref lp) => {
Some(lp.percentage_relative_to(containing_block.inline_size))
},
},
block: match self.block {
MaxSize::None => None,
MaxSize::LengthPercentage(ref lp) => {
lp.maybe_percentage_relative_to(containing_block.block_size.non_auto())
},
},
inline: self
.inline
.map(|lp| lp.percentage_relative_to(containing_block.inline_size)),
block: self.block.and_then(|lp| {
lp.maybe_percentage_relative_to(containing_block.block_size.non_auto())
}),
}
}
}
@ -280,13 +276,13 @@ impl<T> flow_relative::Sides<T> {
}
}
impl flow_relative::Sides<LengthPercentage> {
impl flow_relative::Sides<&'_ LengthPercentage> {
pub fn percentages_relative_to(&self, basis: Length) -> flow_relative::Sides<Length> {
self.map(|s| s.percentage_relative_to(basis))
}
}
impl flow_relative::Sides<LengthPercentageOrAuto> {
impl flow_relative::Sides<LengthPercentageOrAuto<'_>> {
pub fn percentages_relative_to(&self, basis: Length) -> flow_relative::Sides<LengthOrAuto> {
self.map(|s| s.percentage_relative_to(basis))
}

View file

@ -8,6 +8,7 @@ use crate::dom_traversal::{Contents, NodeExt};
use crate::formatting_contexts::IndependentFormattingContext;
use crate::fragments::{BoxFragment, CollapsedBlockMargins, Fragment};
use crate::geom::flow_relative::{Rect, Sides, Vec2};
use crate::geom::{LengthOrAuto, LengthPercentageOrAuto};
use crate::sizing::ContentSizesRequest;
use crate::style_ext::{ComputedValuesExt, DisplayInside};
use crate::{ContainingBlock, DefiniteContainingBlock};
@ -16,7 +17,7 @@ use rayon_croissant::ParallelIteratorExt;
use servo_arc::Arc;
use style::computed_values::position::T as Position;
use style::properties::ComputedValues;
use style::values::computed::{Length, LengthOrAuto, LengthPercentage, LengthPercentageOrAuto};
use style::values::computed::{Length, LengthPercentage};
use style::values::specified::text::TextDecorationLine;
use style::Zero;
@ -112,29 +113,34 @@ impl AbsolutelyPositionedBox {
(None, None) => AbsoluteBoxOffsets::StaticStart {
start: initial_static_start,
},
(Some(start), Some(end)) => AbsoluteBoxOffsets::Both { start, end },
(None, Some(end)) => AbsoluteBoxOffsets::End { end },
(Some(start), None) => AbsoluteBoxOffsets::Start { start },
(Some(start), Some(end)) => AbsoluteBoxOffsets::Both {
start: start.clone(),
end: end.clone(),
},
(None, Some(end)) => AbsoluteBoxOffsets::End { end: end.clone() },
(Some(start), None) => AbsoluteBoxOffsets::Start {
start: start.clone(),
},
}
}
let box_offsets = self.contents.style.box_offsets();
HoistedAbsolutelyPositionedBox {
absolutely_positioned_box: self,
tree_rank,
box_offsets: Vec2 {
inline: absolute_box_offsets(
initial_start_corner.inline,
box_offsets.inline_start.clone(),
box_offsets.inline_end.clone(),
box_offsets.inline_start,
box_offsets.inline_end,
),
block: absolute_box_offsets(
initial_start_corner.block,
box_offsets.block_start.clone(),
box_offsets.block_end.clone(),
box_offsets.block_start,
box_offsets.block_end,
),
},
fragment: ArcRefCell::new(None),
absolutely_positioned_box: self,
}
}
}
@ -405,9 +411,10 @@ impl HoistedAbsolutelyPositionedBox {
for_nearest_containing_block_for_all_descendants: &mut Vec<HoistedAbsolutelyPositionedBox>,
containing_block: &DefiniteContainingBlock,
) -> BoxFragment {
let style = &self.absolutely_positioned_box.contents.style;
let cbis = containing_block.size.inline;
let cbbs = containing_block.size.block;
let style = &self.absolutely_positioned_box.contents.style;
let pbm = style.padding_border_margin(&containing_block.into());
let size;
let replaced_used_size;
@ -415,45 +422,37 @@ impl HoistedAbsolutelyPositionedBox {
Ok(replaced) => {
// https://drafts.csswg.org/css2/visudet.html#abs-replaced-width
// https://drafts.csswg.org/css2/visudet.html#abs-replaced-height
let u = replaced.used_size_as_if_inline_element(&containing_block.into(), style);
let used_size =
replaced.used_size_as_if_inline_element(&containing_block.into(), style, &pbm);
size = Vec2 {
inline: LengthOrAuto::LengthPercentage(u.inline),
block: LengthOrAuto::LengthPercentage(u.block),
inline: LengthOrAuto::LengthPercentage(used_size.inline),
block: LengthOrAuto::LengthPercentage(used_size.block),
};
replaced_used_size = Some(u);
replaced_used_size = Some(used_size);
},
Err(_non_replaced) => {
let box_size = style.box_size();
size = Vec2 {
inline: box_size.inline.percentage_relative_to(cbis),
block: box_size.block.percentage_relative_to(cbbs),
};
size = style.content_box_size(&containing_block.into(), &pbm);
replaced_used_size = None;
},
}
let padding = style.padding().percentages_relative_to(cbis);
let border = style.border_width();
let computed_margin = style.margin().percentages_relative_to(cbis);
let pb = &padding + &border;
let inline_axis = solve_axis(
cbis,
pb.inline_sum(),
computed_margin.inline_start.clone(),
computed_margin.inline_end.clone(),
pbm.padding_border_sums.inline,
pbm.margin.inline_start,
pbm.margin.inline_end,
/* avoid_negative_margin_start */ true,
self.box_offsets.inline.clone(),
&self.box_offsets.inline,
size.inline,
);
let block_axis = solve_axis(
cbis,
pb.block_sum(),
computed_margin.block_start.clone(),
computed_margin.block_end.clone(),
pbm.padding_border_sums.block,
pbm.margin.block_start,
pbm.margin.block_end,
/* avoid_negative_margin_start */ false,
self.box_offsets.block.clone(),
&self.box_offsets.block,
size.block,
);
@ -483,14 +482,14 @@ impl HoistedAbsolutelyPositionedBox {
// https://drafts.csswg.org/css2/visudet.html#abs-non-replaced-width
// https://drafts.csswg.org/css2/visudet.html#abs-non-replaced-height
let inline_size = inline_axis.size.auto_is(|| {
let available_size = match inline_axis.anchor {
Anchor::Start(start) => {
cbis - start - pb.inline_sum() - margin.inline_sum()
},
Anchor::End(end) => {
cbis - end - pb.inline_sum() - margin.inline_sum()
},
let anchor = match inline_axis.anchor {
Anchor::Start(start) => start,
Anchor::End(end) => end,
};
let available_size = cbis -
anchor -
pbm.padding_border_sums.inline -
margin.inline_sum();
self.absolutely_positioned_box
.contents
.content_sizes
@ -526,6 +525,7 @@ impl HoistedAbsolutelyPositionedBox {
},
};
let pb = &pbm.padding + &pbm.border;
let inline_start = match inline_axis.anchor {
Anchor::Start(start) => start + pb.inline_start + margin.inline_start,
Anchor::End(end) => {
@ -550,8 +550,8 @@ impl HoistedAbsolutelyPositionedBox {
style.clone(),
fragments,
content_rect,
padding,
border,
pbm.padding,
pbm.border,
margin,
CollapsedBlockMargins::zero(),
)
@ -589,12 +589,12 @@ fn solve_axis(
computed_margin_start: LengthOrAuto,
computed_margin_end: LengthOrAuto,
avoid_negative_margin_start: bool,
box_offsets: AbsoluteBoxOffsets,
box_offsets: &AbsoluteBoxOffsets,
size: LengthOrAuto,
) -> AxisResult {
match box_offsets {
AbsoluteBoxOffsets::StaticStart { start } => AxisResult {
anchor: Anchor::Start(start),
anchor: Anchor::Start(*start),
size,
margin_start: computed_margin_start.auto_is(Length::zero),
margin_end: computed_margin_end.auto_is(Length::zero),

View file

@ -8,7 +8,7 @@ use crate::fragments::{DebugId, Fragment, ImageFragment};
use crate::geom::flow_relative::{Rect, Vec2};
use crate::geom::PhysicalSize;
use crate::sizing::ContentSizes;
use crate::style_ext::ComputedValuesExt;
use crate::style_ext::{ComputedValuesExt, PaddingBorderMargin};
use crate::ContainingBlock;
use canvas_traits::canvas::{CanvasId, CanvasMsg, FromLayoutMsg};
use ipc_channel::ipc::{self, IpcSender};
@ -240,19 +240,17 @@ impl ReplacedContent {
&self,
containing_block: &ContainingBlock,
style: &ComputedValues,
pbm: &PaddingBorderMargin,
) -> Vec2<Length> {
let mode = style.writing_mode;
let intrinsic_size = self.flow_relative_intrinsic_size(style);
let intrinsic_ratio = self.inline_size_over_block_size_intrinsic_ratio(style);
let box_size = style.box_size().percentages_relative_to(containing_block);
let box_size = style.content_box_size(containing_block, &pbm);
let max_box_size = style.content_max_box_size(containing_block, &pbm);
let min_box_size = style
.min_box_size()
.percentages_relative_to(containing_block)
.content_min_box_size(containing_block, &pbm)
.auto_is(Length::zero);
let max_box_size = style
.max_box_size()
.percentages_relative_to(containing_block);
let default_object_size = || {
// FIXME:

View file

@ -5,9 +5,9 @@
//! https://drafts.csswg.org/css-sizing/
use crate::style_ext::ComputedValuesExt;
use style::properties::longhands::box_sizing::computed_value::T as BoxSizing;
use style::properties::ComputedValues;
use style::values::computed::{Length, LengthPercentage, Percentage};
use style::values::generics::length::MaxSize;
use style::Zero;
/// Which min/max-content values should be computed during box construction
@ -63,6 +63,13 @@ impl ContentSizes {
}
}
fn map(&self, f: impl Fn(Length) -> Length) -> Self {
Self {
min_content: f(self.min_content),
max_content: f(self.max_content),
}
}
pub fn max_assign(&mut self, other: &Self) {
self.min_content.max_assign(other.min_content);
self.max_content.max_assign(other.max_content);
@ -108,61 +115,68 @@ impl BoxContentSizes {
&self,
style: &ComputedValues,
) -> (ContentSizes, Percentage) {
// FIXME: account for 'box-sizing'
let inline_size = style.box_size().inline;
let min_inline_size = style
.min_box_size()
.inline
.percentage_relative_to(Length::zero())
.auto_is(Length::zero);
let max_inline_size = match style.max_box_size().inline {
MaxSize::None => None,
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.to_length());
// The (inner) min/max-content are only used for 'auto'
let mut outer = match inline_size.non_auto().flatten() {
None => {
let inner = self.expect_inline().clone();
ContentSizes {
min_content: clamp(inner.min_content),
max_content: clamp(inner.max_content),
}
},
Some(length) => {
let length = clamp(length);
ContentSizes {
min_content: length,
max_content: length,
}
},
};
let mut pbm_lengths = Length::zero();
let mut pbm_percentages = Percentage::zero();
let padding = style.padding();
let border = style.border_width();
let margin = style.margin();
pbm_lengths += border.inline_sum();
let mut add = |x: LengthPercentage| {
if let Some(l) = x.to_length() {
pbm_lengths += l;
}
if let Some(p) = x.to_percentage() {
pbm_percentages += p;
}
let mut pbm_percentages = Percentage::zero();
let mut decompose = |x: &LengthPercentage| {
pbm_percentages += x.to_percentage().unwrap_or_else(Zero::zero);
x.to_length().unwrap_or_else(Zero::zero)
};
add(padding.inline_start);
add(padding.inline_end);
margin.inline_start.non_auto().map(&mut add);
margin.inline_end.non_auto().map(&mut add);
let pb_lengths =
border.inline_sum() + decompose(padding.inline_start) + decompose(padding.inline_end);
let mut m_lengths = Length::zero();
if let Some(m) = margin.inline_start.non_auto() {
m_lengths += decompose(m)
}
if let Some(m) = margin.inline_end.non_auto() {
m_lengths += decompose(m)
}
outer.min_content += pbm_lengths;
outer.max_content += pbm_lengths;
let box_sizing = style.get_position().box_sizing;
let inline_size = style
.box_size()
.inline
.non_auto()
// Percentages for 'width' are treated as 'auto'
.and_then(|lp| lp.to_length());
let min_inline_size = style
.min_box_size()
.inline
// Percentages for 'min-width' are treated as zero
.percentage_relative_to(Length::zero())
// FIXME: 'auto' is not zero in Flexbox
.auto_is(Length::zero);
let max_inline_size = style
.max_box_size()
.inline
// Percentages for 'max-width' are treated as 'none'
.and_then(|lp| lp.to_length());
let clamp = |l: Length| l.clamp_between_extremums(min_inline_size, max_inline_size);
let border_box_sizes = match inline_size {
Some(non_auto) => {
let clamped = clamp(non_auto);
let border_box_size = match box_sizing {
BoxSizing::ContentBox => clamped + pb_lengths,
BoxSizing::BorderBox => clamped,
};
ContentSizes {
min_content: border_box_size,
max_content: border_box_size,
}
},
None => self.expect_inline().map(|content_box_size| {
match box_sizing {
// Clamp to 'min-width' and 'max-width', which are sizing the…
BoxSizing::ContentBox => clamp(content_box_size) + pb_lengths,
BoxSizing::BorderBox => clamp(content_box_size + pb_lengths),
}
}),
};
let outer = border_box_sizes.map(|s| s + m_lengths);
(outer, pbm_percentages)
}

View file

@ -2,16 +2,20 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use crate::geom::{flow_relative, PhysicalSides, PhysicalSize};
use crate::geom::flow_relative;
use crate::geom::{LengthOrAuto, LengthPercentageOrAuto, PhysicalSides, PhysicalSize};
use crate::ContainingBlock;
use style::computed_values::mix_blend_mode::T as ComputedMixBlendMode;
use style::computed_values::position::T as ComputedPosition;
use style::computed_values::transform_style::T as ComputedTransformStyle;
use style::properties::longhands::box_sizing::computed_value::T as BoxSizing;
use style::properties::ComputedValues;
use style::values::computed::{Length, LengthPercentage, LengthPercentageOrAuto};
use style::values::computed::{Length, LengthPercentage};
use style::values::computed::{NonNegativeLengthPercentage, Size};
use style::values::generics::box_::Perspective;
use style::values::generics::length::MaxSize;
use style::values::specified::box_ as stylo;
use style::Zero;
#[derive(Clone, Copy, Eq, PartialEq)]
pub(crate) enum Display {
@ -43,14 +47,40 @@ pub(crate) enum DisplayInside {
FlowRoot,
}
/// Percentages resolved but not `auto` margins
pub(crate) struct PaddingBorderMargin {
pub padding: flow_relative::Sides<Length>,
pub border: flow_relative::Sides<Length>,
pub margin: flow_relative::Sides<LengthOrAuto>,
/// Pre-computed sums in each axis
pub padding_border_sums: flow_relative::Vec2<Length>,
}
pub(crate) trait ComputedValuesExt {
fn inline_size_is_length(&self) -> bool;
fn inline_box_offsets_are_both_non_auto(&self) -> bool;
fn box_offsets(&self) -> flow_relative::Sides<LengthPercentageOrAuto>;
fn box_size(&self) -> flow_relative::Vec2<LengthPercentageOrAuto>;
fn min_box_size(&self) -> flow_relative::Vec2<LengthPercentageOrAuto>;
fn max_box_size(&self) -> flow_relative::Vec2<MaxSize<LengthPercentage>>;
fn padding(&self) -> flow_relative::Sides<LengthPercentage>;
fn max_box_size(&self) -> flow_relative::Vec2<Option<&LengthPercentage>>;
fn content_box_size(
&self,
containing_block: &ContainingBlock,
pbm: &PaddingBorderMargin,
) -> flow_relative::Vec2<LengthOrAuto>;
fn content_min_box_size(
&self,
containing_block: &ContainingBlock,
pbm: &PaddingBorderMargin,
) -> flow_relative::Vec2<LengthOrAuto>;
fn content_max_box_size(
&self,
containing_block: &ContainingBlock,
pbm: &PaddingBorderMargin,
) -> flow_relative::Vec2<Option<Length>>;
fn padding_border_margin(&self, containing_block: &ContainingBlock) -> PaddingBorderMargin;
fn padding(&self) -> flow_relative::Sides<&LengthPercentage>;
fn border_width(&self) -> flow_relative::Sides<Length>;
fn margin(&self) -> flow_relative::Sides<LengthPercentageOrAuto>;
fn has_transform_or_perspective(&self) -> bool;
@ -81,69 +111,142 @@ impl ComputedValuesExt for ComputedValues {
!a.is_auto() && !b.is_auto()
}
#[inline]
fn box_offsets(&self) -> flow_relative::Sides<LengthPercentageOrAuto> {
let position = self.get_position();
flow_relative::Sides::from_physical(
&PhysicalSides::new(
position.top.clone(),
position.right.clone(),
position.bottom.clone(),
position.left.clone(),
position.top.as_ref(),
position.right.as_ref(),
position.bottom.as_ref(),
position.left.as_ref(),
),
self.writing_mode,
)
}
#[inline]
fn box_size(&self) -> flow_relative::Vec2<LengthPercentageOrAuto> {
let position = self.get_position();
flow_relative::Vec2::from_physical_size(
&PhysicalSize::new(
size_to_length(position.width.clone()),
size_to_length(position.height.clone()),
size_to_length(&position.width),
size_to_length(&position.height),
),
self.writing_mode,
)
}
#[inline]
fn min_box_size(&self) -> flow_relative::Vec2<LengthPercentageOrAuto> {
let position = self.get_position();
flow_relative::Vec2::from_physical_size(
&PhysicalSize::new(
size_to_length(position.min_width.clone()),
size_to_length(position.min_height.clone()),
size_to_length(&position.min_width),
size_to_length(&position.min_height),
),
self.writing_mode,
)
}
#[inline]
fn max_box_size(&self) -> flow_relative::Vec2<MaxSize<LengthPercentage>> {
let unwrap = |max_size: MaxSize<NonNegativeLengthPercentage>| match max_size {
MaxSize::LengthPercentage(length) => MaxSize::LengthPercentage(length.0),
MaxSize::None => MaxSize::None,
};
fn max_box_size(&self) -> flow_relative::Vec2<Option<&LengthPercentage>> {
fn unwrap(max_size: &MaxSize<NonNegativeLengthPercentage>) -> Option<&LengthPercentage> {
match max_size {
MaxSize::LengthPercentage(length) => Some(&length.0),
MaxSize::None => None,
}
}
let position = self.get_position();
flow_relative::Vec2::from_physical_size(
&PhysicalSize::new(
unwrap(position.max_width.clone()),
unwrap(position.max_height.clone()),
),
&PhysicalSize::new(unwrap(&position.max_width), unwrap(&position.max_height)),
self.writing_mode,
)
}
#[inline]
fn padding(&self) -> flow_relative::Sides<LengthPercentage> {
fn content_box_size(
&self,
containing_block: &ContainingBlock,
pbm: &PaddingBorderMargin,
) -> flow_relative::Vec2<LengthOrAuto> {
let box_size = self.box_size().percentages_relative_to(containing_block);
match self.get_position().box_sizing {
BoxSizing::ContentBox => box_size,
BoxSizing::BorderBox => flow_relative::Vec2 {
// These may be negative, but will later be clamped by `min-width`/`min-height`
// which is clamped to zero.
inline: box_size.inline.map(|i| i - pbm.padding_border_sums.inline),
block: box_size.block.map(|b| b - pbm.padding_border_sums.block),
},
}
}
fn content_min_box_size(
&self,
containing_block: &ContainingBlock,
pbm: &PaddingBorderMargin,
) -> flow_relative::Vec2<LengthOrAuto> {
let min_box_size = self
.min_box_size()
.percentages_relative_to(containing_block);
match self.get_position().box_sizing {
BoxSizing::ContentBox => min_box_size,
BoxSizing::BorderBox => flow_relative::Vec2 {
// Clamp to zero to make sure the used size components are non-negative
inline: min_box_size
.inline
.map(|i| (i - pbm.padding_border_sums.inline).max(Length::zero())),
block: min_box_size
.block
.map(|b| (b - pbm.padding_border_sums.block).max(Length::zero())),
},
}
}
fn content_max_box_size(
&self,
containing_block: &ContainingBlock,
pbm: &PaddingBorderMargin,
) -> flow_relative::Vec2<Option<Length>> {
let max_box_size = self
.max_box_size()
.percentages_relative_to(containing_block);
match self.get_position().box_sizing {
BoxSizing::ContentBox => max_box_size,
BoxSizing::BorderBox => {
// This may be negative, but will later be clamped by `min-width`
// which itself is clamped to zero.
flow_relative::Vec2 {
inline: max_box_size
.inline
.map(|i| i - pbm.padding_border_sums.inline),
block: max_box_size
.block
.map(|b| b - pbm.padding_border_sums.block),
}
},
}
}
fn padding_border_margin(&self, containing_block: &ContainingBlock) -> PaddingBorderMargin {
let cbis = containing_block.inline_size;
let padding = self.padding().percentages_relative_to(cbis);
let border = self.border_width();
PaddingBorderMargin {
padding_border_sums: flow_relative::Vec2 {
inline: padding.inline_sum() + border.inline_sum(),
block: padding.block_sum() + border.block_sum(),
},
padding,
border,
margin: self.margin().percentages_relative_to(cbis),
}
}
fn padding(&self) -> flow_relative::Sides<&LengthPercentage> {
let padding = self.get_padding();
flow_relative::Sides::from_physical(
&PhysicalSides::new(
padding.padding_top.0.clone(),
padding.padding_right.0.clone(),
padding.padding_bottom.0.clone(),
padding.padding_left.0.clone(),
&padding.padding_top.0,
&padding.padding_right.0,
&padding.padding_bottom.0,
&padding.padding_left.0,
),
self.writing_mode,
)
@ -166,10 +269,10 @@ impl ComputedValuesExt for ComputedValues {
let margin = self.get_margin();
flow_relative::Sides::from_physical(
&PhysicalSides::new(
margin.margin_top.clone(),
margin.margin_right.clone(),
margin.margin_bottom.clone(),
margin.margin_left.clone(),
margin.margin_top.as_ref(),
margin.margin_right.as_ref(),
margin.margin_bottom.as_ref(),
margin.margin_left.as_ref(),
),
self.writing_mode,
)
@ -285,11 +388,9 @@ impl From<stylo::Display> for Display {
}
}
fn size_to_length(size: Size) -> LengthPercentageOrAuto {
fn size_to_length(size: &Size) -> LengthPercentageOrAuto {
match size {
Size::LengthPercentage(length) => {
LengthPercentageOrAuto::LengthPercentage(length.0.clone())
},
Size::LengthPercentage(length) => LengthPercentageOrAuto::LengthPercentage(&length.0),
Size::Auto => LengthPercentageOrAuto::Auto,
}
}

View file

@ -313,7 +313,6 @@ ${helpers.single_keyword(
"box-sizing",
"content-box border-box",
engines="gecko servo-2013 servo-2020",
servo_2020_pref="layout.2020.unimplemented",
extra_prefixes="moz:layout.css.prefixes.box-sizing webkit",
spec="https://drafts.csswg.org/css-ui/#propdef-box-sizing",
gecko_enum_prefix="StyleBoxSizing",

View file

@ -109,8 +109,19 @@ impl LengthPercentageOrAuto {
}
}
computed_length_percentage_or_auto!(LengthPercentage);
/// Convert to have a borrow inside the enum
pub fn as_ref(&self) -> generics::GenericLengthPercentageOrAuto<&LengthPercentage> {
use values::generics::length::LengthPercentageOrAuto::*;
match *self {
LengthPercentage(ref lp) => LengthPercentage(lp),
Auto => Auto,
}
}
computed_length_percentage_or_auto!(LengthPercentage);
}
impl generics::GenericLengthPercentageOrAuto<&LengthPercentage> {
/// Resolves the percentage.
#[inline]
pub fn percentage_relative_to(&self, basis: Length) -> LengthOrAuto {

View file

@ -19,6 +19,8 @@ skip: true
skip: false
[css-transforms]
skip: false
[css-ui]
skip: false
[filter-effects]
skip: false
[cssom-view]

View file

@ -1,2 +0,0 @@
[dynamic-percentage-height.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[background-position-subpixel-at-border.tentative.html]
expected: FAIL

View file

@ -0,0 +1,31 @@
[caret-color-composition.html]
[Compositing: property <caret-color> underlying [rgb(50, 50, 50)\] from add [rgb(100, 100, 100)\] to add [rgb(200, 200, 200)\] at (-0.3) should be [rgb(120, 120, 120)\]]
expected: FAIL
[Compositing: property <caret-color> underlying [auto\] from add [rgb(100, 100, 100)\] to add [rgb(200, 200, 200)\] at (1.5) should be [rgb(250, 250, 250)\]]
expected: FAIL
[Compositing: property <caret-color> underlying [auto\] from add [rgb(100, 100, 100)\] to add [rgb(200, 200, 200)\] at (-0.3) should be [rgb(70, 70, 70)\]]
expected: FAIL
[Compositing: property <caret-color> underlying [auto\] from add [rgb(100, 100, 100)\] to add [rgb(200, 200, 200)\] at (0) should be [rgb(100, 100, 100)\]]
expected: FAIL
[Compositing: property <caret-color> underlying [auto\] from add [rgb(100, 100, 100)\] to add [rgb(200, 200, 200)\] at (1) should be [rgb(200, 200, 200)\]]
expected: FAIL
[Compositing: property <caret-color> underlying [rgb(50, 50, 50)\] from add [rgb(100, 100, 100)\] to add [rgb(200, 200, 200)\] at (0.5) should be [rgb(200, 200, 200)\]]
expected: FAIL
[Compositing: property <caret-color> underlying [auto\] from add [rgb(100, 100, 100)\] to add [rgb(200, 200, 200)\] at (0.5) should be [rgb(150, 150, 150)\]]
expected: FAIL
[Compositing: property <caret-color> underlying [rgb(50, 50, 50)\] from add [rgb(100, 100, 100)\] to add [rgb(200, 200, 200)\] at (1.5) should be [rgb(255, 255, 255)\]]
expected: FAIL
[Compositing: property <caret-color> underlying [rgb(50, 50, 50)\] from add [rgb(100, 100, 100)\] to add [rgb(200, 200, 200)\] at (0) should be [rgb(150, 150, 150)\]]
expected: FAIL
[Compositing: property <caret-color> underlying [rgb(50, 50, 50)\] from add [rgb(100, 100, 100)\] to add [rgb(200, 200, 200)\] at (1) should be [rgb(250, 250, 250)\]]
expected: FAIL

View file

@ -0,0 +1,529 @@
[caret-color-interpolation.html]
[CSS Transitions: property <caret-color> from [unset\] to [green\] at (-0.3) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [unset\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [black\] to [orange\] at (1) should be [rgb(255, 165, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [unset\] to [green\] at (0.6) should be [rgb(0, 77, 102)\]]
expected: FAIL
[Web Animations: property <caret-color> from [currentColor\] to [green\] at (0.3) should be [rgb(0, 38, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [currentColor\] to [green\] at (0.6) should be [rgb(0, 77, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from neutral to [green\] at (0.6) should be [rgb(102, 179, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [auto\] to [green\] at (0.6) should be [green\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [unset\] to [green\] at (0.3) should be [rgb(0, 38, 179)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [inherit\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from neutral to [green\] at (0.3) should be [rgb(179, 217, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from neutral to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [initial\] to [green\] at (0.3) should be [initial\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [initial\] to [green\] at (1.5) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from [inherit\] to [green\] at (-0.3) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [initial\] to [green\] at (-0.3) should be [initial\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [auto\] to [green\] at (1.5) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from [initial\] to [green\] at (1.5) should be [green\]]
expected: FAIL
[CSS Animations: property <caret-color> from [auto\] to [green\] at (-0.3) should be [auto\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [inherit\] to [green\] at (0.6) should be [rgb(0, 77, 102)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [currentColor\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from neutral to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [initial\] to [green\] at (1) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from [auto\] to [green\] at (1) should be [green\]]
expected: FAIL
[CSS Animations: property <caret-color> from [inherit\] to [green\] at (0.3) should be [rgb(0, 38, 179)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [unset\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [unset\] to [green\] at (0.6) should be [rgb(0, 77, 102)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [initial\] to [green\] at (0) should be [green\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [inherit\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [unset\] to [green\] at (0) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [unset\] to [green\] at (0) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [currentColor\] to [green\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [currentColor\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [initial\] to [green\] at (-0.3) should be [green\]]
expected: FAIL
[CSS Animations: property <caret-color> from [auto\] to [green\] at (0.3) should be [auto\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [unset\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [inherit\] to [green\] at (0) should be [rgb(0, 0, 255)\]]
expected: FAIL
[Web Animations: property <caret-color> from [unset\] to [green\] at (0.6) should be [rgb(0, 77, 102)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from neutral to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [black\] to [orange\] at (0.3) should be [rgb(77, 50, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [black\] to [orange\] at (0.3) should be [rgb(77, 50, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [currentColor\] to [green\] at (0.6) should be [rgb(0, 77, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [inherit\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [currentColor\] to [green\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [unset\] to [green\] at (0) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [black\] to [orange\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [auto\] to [green\] at (0.6) should be [green\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [initial\] to [green\] at (-0.3) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from [black\] to [orange\] at (0.3) should be [rgb(77, 50, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [auto\] to [green\] at (0.6) should be [green\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [unset\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [black\] to [orange\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [currentColor\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [unset\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [auto\] to [green\] at (1.5) should be [green\]]
expected: FAIL
[CSS Animations: property <caret-color> from [initial\] to [green\] at (1.5) should be [green\]]
expected: FAIL
[CSS Transitions: property <caret-color> from neutral to [green\] at (0) should be [rgb(255, 255, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [unset\] to [green\] at (0.6) should be [rgb(0, 77, 102)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [currentColor\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [black\] to [orange\] at (0.6) should be [rgb(153, 99, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [unset\] to [green\] at (-0.3) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [initial\] to [green\] at (0.6) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from [unset\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from neutral to [green\] at (0.6) should be [rgb(102, 179, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [initial\] to [green\] at (0.3) should be [initial\]]
expected: FAIL
[CSS Animations: property <caret-color> from [auto\] to [green\] at (1) should be [green\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [initial\] to [green\] at (0.5) should be [green\]]
expected: FAIL
[CSS Animations: property <caret-color> from [currentColor\] to [green\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [auto\] to [green\] at (0) should be [auto\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [currentColor\] to [green\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [initial\] to [green\] at (0.5) should be [green\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [black\] to [orange\] at (1) should be [rgb(255, 165, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [currentColor\] to [green\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [unset\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [currentColor\] to [green\] at (0.3) should be [rgb(0, 38, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [initial\] to [green\] at (1) should be [green\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [auto\] to [green\] at (0.5) should be [green\]]
expected: FAIL
[CSS Animations: property <caret-color> from [inherit\] to [green\] at (0.6) should be [rgb(0, 77, 102)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from neutral to [green\] at (0.3) should be [rgb(179, 217, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [auto\] to [green\] at (1) should be [green\]]
expected: FAIL
[CSS Animations: property <caret-color> from [currentColor\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [initial\] to [green\] at (1.5) should be [green\]]
expected: FAIL
[CSS Animations: property <caret-color> from [initial\] to [green\] at (0.6) should be [green\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [auto\] to [green\] at (1) should be [green\]]
expected: FAIL
[CSS Animations: property <caret-color> from neutral to [green\] at (-0.3) should be [rgb(255, 255, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [auto\] to [green\] at (0.3) should be [auto\]]
expected: FAIL
[CSS Transitions: property <caret-color> from neutral to [green\] at (1.5) should be [rgb(0, 65, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from neutral to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [inherit\] to [green\] at (0.3) should be [rgb(0, 38, 179)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [currentColor\] to [green\] at (0.3) should be [rgb(0, 38, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from neutral to [green\] at (0.6) should be [rgb(102, 179, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [auto\] to [green\] at (0) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from [auto\] to [green\] at (0) should be [auto\]]
expected: FAIL
[Web Animations: property <caret-color> from [black\] to [orange\] at (0.6) should be [rgb(153, 99, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [unset\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [black\] to [orange\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from neutral to [green\] at (0.6) should be [rgb(102, 179, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [auto\] to [green\] at (0.5) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from [initial\] to [green\] at (0.6) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from [unset\] to [green\] at (0.3) should be [rgb(0, 38, 179)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [initial\] to [green\] at (0.5) should be [green\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from neutral to [green\] at (-0.3) should be [rgb(255, 255, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [initial\] to [green\] at (0) should be [initial\]]
expected: FAIL
[Web Animations: property <caret-color> from [initial\] to [green\] at (0) should be [initial\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [currentColor\] to [green\] at (0.6) should be [rgb(0, 77, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [inherit\] to [green\] at (0) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [inherit\] to [green\] at (0.3) should be [rgb(0, 38, 179)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [auto\] to [green\] at (0.5) should be [green\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [auto\] to [green\] at (0.3) should be [green\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [currentColor\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [auto\] to [green\] at (0.6) should be [green\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [black\] to [orange\] at (0.3) should be [rgb(77, 50, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from neutral to [green\] at (-0.3) should be [rgb(255, 255, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from neutral to [green\] at (0) should be [rgb(255, 255, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from neutral to [green\] at (-0.3) should be [rgb(255, 255, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [initial\] to [green\] at (0.6) should be [green\]]
expected: FAIL
[CSS Animations: property <caret-color> from [inherit\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [unset\] to [green\] at (0.3) should be [rgb(0, 38, 179)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [initial\] to [green\] at (0) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from [initial\] to [green\] at (-0.3) should be [initial\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [black\] to [orange\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [black\] to [orange\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [black\] to [orange\] at (1.5) should be [rgb(255, 248, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [currentColor\] to [green\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [auto\] to [green\] at (1.5) should be [green\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [initial\] to [green\] at (1) should be [green\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [initial\] to [green\] at (0.5) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from [auto\] to [green\] at (1.5) should be [green\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [currentColor\] to [green\] at (0.3) should be [rgb(0, 38, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [initial\] to [green\] at (0.3) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from neutral to [green\] at (0) should be [rgb(255, 255, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [auto\] to [green\] at (-0.3) should be [green\]]
expected: FAIL
[CSS Animations: property <caret-color> from [unset\] to [green\] at (-0.3) should be [rgb(0, 0, 255)\]]
expected: FAIL
[Web Animations: property <caret-color> from [black\] to [orange\] at (1) should be [rgb(255, 165, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [black\] to [orange\] at (1.5) should be [rgb(255, 248, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [inherit\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [inherit\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [black\] to [orange\] at (1.5) should be [rgb(255, 248, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from neutral to [green\] at (1.5) should be [rgb(0, 65, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [inherit\] to [green\] at (0.6) should be [rgb(0, 77, 102)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [inherit\] to [green\] at (-0.3) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [black\] to [orange\] at (1.5) should be [rgb(255, 248, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from neutral to [green\] at (0) should be [rgb(255, 255, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [black\] to [orange\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [auto\] to [green\] at (0.5) should be [green\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [black\] to [orange\] at (0.6) should be [rgb(153, 99, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [auto\] to [green\] at (-0.3) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from [auto\] to [green\] at (-0.3) should be [auto\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [auto\] to [green\] at (0) should be [green\]]
expected: FAIL
[CSS Animations: property <caret-color> from [currentColor\] to [green\] at (0.6) should be [rgb(0, 77, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [black\] to [orange\] at (1) should be [rgb(255, 165, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [inherit\] to [green\] at (0.6) should be [rgb(0, 77, 102)\]]
expected: FAIL
[Web Animations: property <caret-color> from [inherit\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [unset\] to [green\] at (0.3) should be [rgb(0, 38, 179)\]]
expected: FAIL
[Web Animations: property <caret-color> from [black\] to [orange\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from [unset\] to [green\] at (-0.3) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Animations: property <caret-color> from neutral to [green\] at (1.5) should be [rgb(0, 65, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [currentColor\] to [green\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from neutral to [green\] at (1.5) should be [rgb(0, 65, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [initial\] to [green\] at (1) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from [currentColor\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[Web Animations: property <caret-color> from neutral to [green\] at (0.3) should be [rgb(179, 217, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [auto\] to [green\] at (0.3) should be [green\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [currentColor\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [inherit\] to [green\] at (0) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [black\] to [orange\] at (0.6) should be [rgb(153, 99, 0)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [inherit\] to [green\] at (-0.3) should be [rgb(0, 0, 255)\]]
expected: FAIL
[Web Animations: property <caret-color> from [inherit\] to [green\] at (0.3) should be [rgb(0, 38, 179)\]]
expected: FAIL
[CSS Transitions: property <caret-color> from [inherit\] to [green\] at (0) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Animations: property <caret-color> from [unset\] to [green\] at (0) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [black\] to [orange\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [initial\] to [green\] at (0.3) should be [green\]]
expected: FAIL
[Web Animations: property <caret-color> from [currentColor\] to [green\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [inherit\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Animations: property <caret-color> from neutral to [green\] at (0.3) should be [rgb(179, 217, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <caret-color> from [inherit\] to [green\] at (-0.3) should be [rgb(0, 0, 255)\]]
expected: FAIL

View file

@ -0,0 +1,361 @@
[outline-color-interpolation.html]
[CSS Transitions with transition: all: property <outline-color> from [white\] to [orange\] at (1.5) should be [rgb(255, 120, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [white\] to [orange\] at (-0.3) should be [white\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from neutral to [green\] at (-0.3) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [inherit\] to [green\] at (-0.3) should be [rgb(255, 255, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from neutral to [green\] at (0) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [inherit\] to [green\] at (1.5) should be [rgb(0, 65, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [white\] to [orange\] at (-0.3) should be [white\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [unset\] to [green\] at (0.6) should be [rgb(0, 77, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [white\] to [orange\] at (0.3) should be [rgb(255, 228, 179)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from neutral to [green\] at (0) should be [rgb(0, 0, 255)\]]
expected: FAIL
[Web Animations: property <outline-color> from [initial\] to [green\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [initial\] to [green\] at (0.6) should be [rgb(0, 77, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [inherit\] to [green\] at (1.5) should be [rgb(0, 65, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from neutral to [green\] at (0.3) should be [rgb(0, 38, 179)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [inherit\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [unset\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [white\] to [orange\] at (0) should be [white\]]
expected: FAIL
[Web Animations: property <outline-color> from [unset\] to [green\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [inherit\] to [green\] at (0.3) should be [rgb(179, 217, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [inherit\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [unset\] to [green\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from neutral to [green\] at (-0.3) should be [rgb(0, 0, 255)\]]
expected: FAIL
[Web Animations: property <outline-color> from neutral to [green\] at (-0.3) should be [rgb(0, 0, 255)\]]
expected: FAIL
[Web Animations: property <outline-color> from [inherit\] to [green\] at (-0.3) should be [rgb(255, 255, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from neutral to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [initial\] to [green\] at (0.6) should be [rgb(0, 77, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from neutral to [green\] at (0.3) should be [rgb(0, 38, 179)\]]
expected: FAIL
[Web Animations: property <outline-color> from [initial\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from neutral to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [inherit\] to [green\] at (0.3) should be [rgb(179, 217, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [unset\] to [green\] at (0.3) should be [rgb(0, 38, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [unset\] to [green\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [initial\] to [green\] at (0.3) should be [rgb(0, 38, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from neutral to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [unset\] to [green\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [white\] to [orange\] at (0.6) should be [rgb(255, 201, 102)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [white\] to [orange\] at (0) should be [white\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from neutral to [green\] at (0.6) should be [rgb(0, 77, 102)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [inherit\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [inherit\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [white\] to [orange\] at (1) should be [orange\]]
expected: FAIL
[CSS Animations: property <outline-color> from [inherit\] to [green\] at (0.6) should be [rgb(102, 179, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from neutral to [green\] at (0.3) should be [rgb(0, 38, 179)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [unset\] to [green\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [inherit\] to [green\] at (-0.3) should be [rgb(255, 255, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [inherit\] to [green\] at (0.6) should be [rgb(102, 179, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [inherit\] to [green\] at (1.5) should be [rgb(0, 65, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [initial\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [initial\] to [green\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [inherit\] to [green\] at (0.6) should be [rgb(102, 179, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from neutral to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [white\] to [orange\] at (-0.3) should be [white\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [unset\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [initial\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from neutral to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [white\] to [orange\] at (1.5) should be [rgb(255, 120, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [white\] to [orange\] at (0) should be [white\]]
expected: FAIL
[CSS Animations: property <outline-color> from [initial\] to [green\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [initial\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from neutral to [green\] at (0) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [inherit\] to [green\] at (0.3) should be [rgb(179, 217, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [unset\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [initial\] to [green\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [inherit\] to [green\] at (0) should be [rgb(255, 255, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [initial\] to [green\] at (0.6) should be [rgb(0, 77, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [initial\] to [green\] at (0.6) should be [rgb(0, 77, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [initial\] to [green\] at (0.3) should be [rgb(0, 38, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from neutral to [green\] at (-0.3) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [initial\] to [green\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [white\] to [orange\] at (1) should be [orange\]]
expected: FAIL
[CSS Animations: property <outline-color> from neutral to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [unset\] to [green\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [unset\] to [green\] at (0.3) should be [rgb(0, 38, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [white\] to [orange\] at (0.6) should be [rgb(255, 201, 102)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [white\] to [orange\] at (0) should be [white\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [unset\] to [green\] at (0.3) should be [rgb(0, 38, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [unset\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from neutral to [green\] at (0.6) should be [rgb(0, 77, 102)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [unset\] to [green\] at (0.6) should be [rgb(0, 77, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [initial\] to [green\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [white\] to [orange\] at (0.3) should be [rgb(255, 228, 179)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [white\] to [orange\] at (1.5) should be [rgb(255, 120, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [unset\] to [green\] at (0.3) should be [rgb(0, 38, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [initial\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [initial\] to [green\] at (0.3) should be [rgb(0, 38, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [inherit\] to [green\] at (0.3) should be [rgb(179, 217, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [unset\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [inherit\] to [green\] at (0) should be [rgb(255, 255, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [white\] to [orange\] at (1) should be [orange\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [initial\] to [green\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [initial\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [white\] to [orange\] at (1) should be [orange\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from neutral to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [unset\] to [green\] at (0.6) should be [rgb(0, 77, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [initial\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [white\] to [orange\] at (0.3) should be [rgb(255, 228, 179)\]]
expected: FAIL
[CSS Animations: property <outline-color> from neutral to [green\] at (0.3) should be [rgb(0, 38, 179)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [initial\] to [green\] at (0.3) should be [rgb(0, 38, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [inherit\] to [green\] at (0) should be [rgb(255, 255, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [white\] to [orange\] at (0.6) should be [rgb(255, 201, 102)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [white\] to [orange\] at (-0.3) should be [white\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [inherit\] to [green\] at (0) should be [rgb(255, 255, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from neutral to [green\] at (0.6) should be [rgb(0, 77, 102)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [initial\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from neutral to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [initial\] to [green\] at (0) should be [rgb(0, 0, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [unset\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [unset\] to [green\] at (0.6) should be [rgb(0, 77, 0)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [inherit\] to [green\] at (-0.3) should be [rgb(255, 255, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from neutral to [green\] at (0.6) should be [rgb(0, 77, 102)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [white\] to [orange\] at (1.5) should be [rgb(255, 120, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [white\] to [orange\] at (0.3) should be [rgb(255, 228, 179)\]]
expected: FAIL
[CSS Animations: property <outline-color> from [unset\] to [green\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from neutral to [green\] at (0) should be [rgb(0, 0, 255)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [unset\] to [green\] at (1) should be [rgb(0, 128, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [unset\] to [green\] at (-0.3) should be [rgb(0, 0, 0)\]]
expected: FAIL
[Web Animations: property <outline-color> from [unset\] to [green\] at (1.5) should be [rgb(0, 192, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [inherit\] to [green\] at (0.6) should be [rgb(102, 179, 0)\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-color> from [inherit\] to [green\] at (1.5) should be [rgb(0, 65, 0)\]]
expected: FAIL
[CSS Transitions: property <outline-color> from [white\] to [orange\] at (0.6) should be [rgb(255, 201, 102)\]]
expected: FAIL

View file

@ -0,0 +1,61 @@
[outline-offset-composition.html]
[Compositing: property <outline-offset> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [10em\] from add [100px\] to add [20em\] at (1.5) should be [calc(-50px + 40em)\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [10em\] from add [100px\] to add [20em\] at (0) should be [calc(100px + 10em)\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [10em\] from add [100px\] to add [20em\] at (0.5) should be [calc(50px + 20em)\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [10em\] from add [100px\] to add [20em\] at (-0.3) should be [calc(130px + 4em)\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [10em\] from add [100px\] to add [20em\] at (1) should be [30em\]]
expected: FAIL
[Compositing: property <outline-offset> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
expected: FAIL

View file

@ -0,0 +1,361 @@
[outline-offset-interpolation.html]
[Web Animations: property <outline-offset> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [initial\] to [20px\] at (1.5) should be [30px\]]
expected: FAIL
[Web Animations: property <outline-offset> from neutral to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from neutral to [20px\] at (1.5) should be [25px\]]
expected: FAIL
[Web Animations: property <outline-offset> from neutral to [20px\] at (0.6) should be [16px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [unset\] to [20px\] at (0) should be [0px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [initial\] to [20px\] at (0.3) should be [6px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [unset\] to [20px\] at (0.6) should be [12px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [-5px\] to [5px\] at (0.3) should be [-2px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [inherit\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from neutral to [20px\] at (0.3) should be [13px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from neutral to [20px\] at (0.6) should be [16px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [initial\] to [20px\] at (0.6) should be [12px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [initial\] to [20px\] at (-0.3) should be [-6px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from neutral to [20px\] at (-0.3) should be [7px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [initial\] to [20px\] at (1.5) should be [30px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [initial\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [initial\] to [20px\] at (0) should be [0px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [initial\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [unset\] to [20px\] at (0.3) should be [6px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [inherit\] to [20px\] at (0) should be [30px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [initial\] to [20px\] at (1.5) should be [30px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from neutral to [20px\] at (1.5) should be [25px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [-5px\] to [5px\] at (1.5) should be [10px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [inherit\] to [20px\] at (0.3) should be [27px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from neutral to [20px\] at (1) should be [20px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [inherit\] to [20px\] at (1.5) should be [15px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [initial\] to [20px\] at (0.6) should be [12px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [-5px\] to [5px\] at (-0.3) should be [-8px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [-5px\] to [5px\] at (0.6) should be [1px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [inherit\] to [20px\] at (0.3) should be [27px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from neutral to [20px\] at (0) should be [10px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [-5px\] to [5px\] at (1.5) should be [10px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [-5px\] to [5px\] at (0.6) should be [1px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [inherit\] to [20px\] at (0.3) should be [27px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [-5px\] to [5px\] at (0) should be [-5px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [unset\] to [20px\] at (-0.3) should be [-6px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [initial\] to [20px\] at (1.5) should be [30px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [-5px\] to [5px\] at (1) should be [5px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [unset\] to [20px\] at (1.5) should be [30px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [-5px\] to [5px\] at (0.3) should be [-2px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [unset\] to [20px\] at (0.3) should be [6px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [initial\] to [20px\] at (0) should be [0px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [inherit\] to [20px\] at (0) should be [30px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [unset\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[Web Animations: property <outline-offset> from neutral to [20px\] at (1.5) should be [25px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [-5px\] to [5px\] at (0.3) should be [-2px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [unset\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [-5px\] to [5px\] at (1) should be [5px\]]
expected: FAIL
[Web Animations: property <outline-offset> from neutral to [20px\] at (0) should be [10px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from neutral to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [initial\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [initial\] to [20px\] at (-0.3) should be [-6px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [initial\] to [20px\] at (-0.3) should be [-6px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [unset\] to [20px\] at (1.5) should be [30px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from neutral to [20px\] at (1) should be [20px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [unset\] to [20px\] at (1.5) should be [30px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [-5px\] to [5px\] at (1.5) should be [10px\]]
expected: FAIL
[Web Animations: property <outline-offset> from neutral to [20px\] at (-0.3) should be [7px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from neutral to [20px\] at (-0.3) should be [7px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [initial\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [initial\] to [20px\] at (0.3) should be [6px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [-5px\] to [5px\] at (1) should be [5px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [-5px\] to [5px\] at (0.6) should be [1px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [unset\] to [20px\] at (1.5) should be [30px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [inherit\] to [20px\] at (1.5) should be [15px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [-5px\] to [5px\] at (1.5) should be [10px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [initial\] to [20px\] at (0.3) should be [6px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [unset\] to [20px\] at (0.6) should be [12px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [inherit\] to [20px\] at (0) should be [30px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [unset\] to [20px\] at (-0.3) should be [-6px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [unset\] to [20px\] at (-0.3) should be [-6px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [inherit\] to [20px\] at (0.3) should be [27px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [initial\] to [20px\] at (0.6) should be [12px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [unset\] to [20px\] at (0.6) should be [12px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [initial\] to [20px\] at (0) should be [0px\]]
expected: FAIL
[Web Animations: property <outline-offset> from neutral to [20px\] at (0.3) should be [13px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [initial\] to [20px\] at (0.6) should be [12px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from neutral to [20px\] at (0.3) should be [13px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [initial\] to [20px\] at (0.3) should be [6px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [unset\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [inherit\] to [20px\] at (1.5) should be [15px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [inherit\] to [20px\] at (1.5) should be [15px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [inherit\] to [20px\] at (0) should be [30px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [inherit\] to [20px\] at (0.6) should be [24px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from neutral to [20px\] at (1.5) should be [25px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [initial\] to [20px\] at (0) should be [0px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [-5px\] to [5px\] at (0.6) should be [1px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from neutral to [20px\] at (0.3) should be [13px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [-5px\] to [5px\] at (0) should be [-5px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [inherit\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [unset\] to [20px\] at (0) should be [0px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [unset\] to [20px\] at (0.3) should be [6px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from neutral to [20px\] at (0.6) should be [16px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from neutral to [20px\] at (-0.3) should be [7px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [inherit\] to [20px\] at (0.6) should be [24px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from neutral to [20px\] at (0) should be [10px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [inherit\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [-5px\] to [5px\] at (-0.3) should be [-8px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from neutral to [20px\] at (0) should be [10px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [unset\] to [20px\] at (0) should be [0px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [unset\] to [20px\] at (-0.3) should be [-6px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [unset\] to [20px\] at (0.6) should be [12px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [inherit\] to [20px\] at (0.6) should be [24px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [-5px\] to [5px\] at (-0.3) should be [-8px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [initial\] to [20px\] at (-0.3) should be [-6px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [-5px\] to [5px\] at (-0.3) should be [-8px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [-5px\] to [5px\] at (0) should be [-5px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [-5px\] to [5px\] at (1) should be [5px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [inherit\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Transitions: property <outline-offset> from [-5px\] to [5px\] at (0.3) should be [-2px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [inherit\] to [20px\] at (0.6) should be [24px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from neutral to [20px\] at (0.6) should be [16px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [unset\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-offset> from [-5px\] to [5px\] at (0) should be [-5px\]]
expected: FAIL
[CSS Animations: property <outline-offset> from [unset\] to [20px\] at (0.3) should be [6px\]]
expected: FAIL
[Web Animations: property <outline-offset> from [unset\] to [20px\] at (0) should be [0px\]]
expected: FAIL

View file

@ -0,0 +1,79 @@
[outline-width-composition.html]
[Compositing: property <outline-width> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [10em\] from add [100px\] to add [20em\] at (0) should be [calc(100px + 10em)\]]
expected: FAIL
[Compositing: property <outline-width> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [thick\] from add [11px\] to add [thin\] at (-0.3) should be [19px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [10em\] from add [100px\] to add [20em\] at (1) should be [30em\]]
expected: FAIL
[Compositing: property <outline-width> underlying [thick\] from add [11px\] to add [thin\] at (1.5) should be [1px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [thick\] from add [11px\] to add [thin\] at (2) should be [0px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [10em\] from add [100px\] to add [20em\] at (0.5) should be [calc(50px + 20em)\]]
expected: FAIL
[Compositing: property <outline-width> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [thick\] from add [11px\] to add [thin\] at (0.5) should be [11px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [thick\] from add [11px\] to add [thin\] at (1) should be [6px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [10em\] from add [100px\] to add [20em\] at (1.5) should be [calc(-50px + 40em)\]]
expected: FAIL
[Compositing: property <outline-width> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [thick\] from add [11px\] to add [thin\] at (0) should be [16px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [10em\] from add [100px\] to add [20em\] at (-0.3) should be [calc(130px + 4em)\]]
expected: FAIL
[Compositing: property <outline-width> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
expected: FAIL
[Compositing: property <outline-width> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
expected: FAIL

View file

@ -0,0 +1,445 @@
[outline-width-interpolation.html]
[CSS Transitions with transition: all: property <outline-width> from [inherit\] to [20px\] at (1.5) should be [15px\]]
expected: FAIL
[Web Animations: property <outline-width> from [inherit\] to [20px\] at (0.3) should be [27px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [inherit\] to [20px\] at (1.5) should be [15px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from neutral to [20px\] at (0.3) should be [13px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [initial\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[Web Animations: property <outline-width> from [initial\] to [20px\] at (-0.3) should be [0px\]]
expected: FAIL
[Web Animations: property <outline-width> from [0px\] to [10px\] at (-0.3) should be [0px\]]
expected: FAIL
[Web Animations: property <outline-width> from neutral to [20px\] at (0) should be [10px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [0px\] to [10px\] at (0) should be [0px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [initial\] to [20px\] at (0.6) should be [13px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [inherit\] to [20px\] at (0.6) should be [24px\]]
expected: FAIL
[Web Animations: property <outline-width> from [unset\] to [20px\] at (1.5) should be [28px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [0px\] to [10px\] at (1) should be [10px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [thick\] to [15px\] at (-2) should be [0px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [initial\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [0px\] to [10px\] at (0.6) should be [6px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [unset\] to [20px\] at (0.6) should be [13px\]]
expected: FAIL
[Web Animations: property <outline-width> from [initial\] to [20px\] at (1.5) should be [28px\]]
expected: FAIL
[Web Animations: property <outline-width> from [0px\] to [10px\] at (0.3) should be [3px\]]
expected: FAIL
[CSS Animations: property <outline-width> from neutral to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [unset\] to [20px\] at (0) should be [3px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [inherit\] to [20px\] at (0) should be [30px\]]
expected: FAIL
[Web Animations: property <outline-width> from [initial\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[Web Animations: property <outline-width> from [unset\] to [20px\] at (0.3) should be [8px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from neutral to [20px\] at (0.6) should be [16px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [thick\] to [15px\] at (0.3) should be [8px\]]
expected: FAIL
[Web Animations: property <outline-width> from [unset\] to [20px\] at (0.6) should be [13px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from neutral to [20px\] at (0.3) should be [13px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [inherit\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [unset\] to [20px\] at (0.6) should be [13px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [0px\] to [10px\] at (-0.3) should be [0px\]]
expected: FAIL
[Web Animations: property <outline-width> from [thick\] to [15px\] at (-2) should be [0px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [initial\] to [20px\] at (0.3) should be [8px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [thick\] to [15px\] at (0.3) should be [8px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [initial\] to [20px\] at (1.5) should be [28px\]]
expected: FAIL
[Web Animations: property <outline-width> from neutral to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
expected: FAIL
[Web Animations: property <outline-width> from [0px\] to [10px\] at (0) should be [0px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [inherit\] to [20px\] at (0.6) should be [24px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [inherit\] to [20px\] at (0.3) should be [27px\]]
expected: FAIL
[Web Animations: property <outline-width> from [thick\] to [15px\] at (1.5) should be [20px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from neutral to [20px\] at (0.6) should be [16px\]]
expected: FAIL
[Web Animations: property <outline-width> from [thick\] to [15px\] at (1) should be [15px\]]
expected: FAIL
[Web Animations: property <outline-width> from [inherit\] to [20px\] at (0.6) should be [24px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [thick\] to [15px\] at (0.6) should be [11px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [unset\] to [20px\] at (0.3) should be [8px\]]
expected: FAIL
[Web Animations: property <outline-width> from [0px\] to [10px\] at (1) should be [10px\]]
expected: FAIL
[Web Animations: property <outline-width> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
expected: FAIL
[Web Animations: property <outline-width> from [unset\] to [20px\] at (0) should be [3px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [0px\] to [10px\] at (-0.3) should be [0px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [inherit\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[Web Animations: property <outline-width> from [initial\] to [20px\] at (0.3) should be [8px\]]
expected: FAIL
[Web Animations: property <outline-width> from neutral to [20px\] at (1.5) should be [25px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [unset\] to [20px\] at (-0.3) should be [0px\]]
expected: FAIL
[Web Animations: property <outline-width> from [initial\] to [20px\] at (0.6) should be [13px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [thick\] to [15px\] at (1.5) should be [20px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [0px\] to [10px\] at (0.6) should be [6px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [unset\] to [20px\] at (-0.3) should be [0px\]]
expected: FAIL
[Web Animations: property <outline-width> from [unset\] to [20px\] at (-0.3) should be [0px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [thick\] to [15px\] at (0) should be [5px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [unset\] to [20px\] at (0.3) should be [8px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [thick\] to [15px\] at (-0.3) should be [2px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [inherit\] to [20px\] at (0) should be [30px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
expected: FAIL
[CSS Animations: property <outline-width> from neutral to [20px\] at (1.5) should be [25px\]]
expected: FAIL
[Web Animations: property <outline-width> from [thick\] to [15px\] at (0) should be [5px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [thick\] to [15px\] at (1.5) should be [20px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [unset\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [0px\] to [10px\] at (0) should be [0px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [initial\] to [20px\] at (-0.3) should be [0px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [thick\] to [15px\] at (1) should be [15px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [initial\] to [20px\] at (0) should be [3px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [0px\] to [10px\] at (1) should be [10px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [initial\] to [20px\] at (1.5) should be [28px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [unset\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[Web Animations: property <outline-width> from neutral to [20px\] at (0.6) should be [16px\]]
expected: FAIL
[Web Animations: property <outline-width> from [unset\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from neutral to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [inherit\] to [20px\] at (1.5) should be [15px\]]
expected: FAIL
[CSS Animations: property <outline-width> from neutral to [20px\] at (-0.3) should be [7px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [thick\] to [15px\] at (-0.3) should be [2px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [inherit\] to [20px\] at (0.6) should be [24px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [thick\] to [15px\] at (0.6) should be [11px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [initial\] to [20px\] at (1.5) should be [28px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [thick\] to [15px\] at (0.3) should be [8px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from neutral to [20px\] at (-0.3) should be [7px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [0px\] to [10px\] at (1.5) should be [15px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [thick\] to [15px\] at (-2) should be [0px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [thick\] to [15px\] at (1) should be [15px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [initial\] to [20px\] at (-0.3) should be [0px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [thick\] to [15px\] at (1.5) should be [20px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from neutral to [20px\] at (1.5) should be [25px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [thick\] to [15px\] at (-2) should be [0px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from neutral to [20px\] at (0) should be [10px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [unset\] to [20px\] at (0) should be [3px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [thick\] to [15px\] at (0) should be [5px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [0px\] to [10px\] at (0.3) should be [3px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [inherit\] to [20px\] at (0.3) should be [27px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [initial\] to [20px\] at (0.6) should be [13px\]]
expected: FAIL
[Web Animations: property <outline-width> from [thick\] to [15px\] at (0.6) should be [11px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [inherit\] to [20px\] at (0) should be [30px\]]
expected: FAIL
[Web Animations: property <outline-width> from neutral to [20px\] at (-0.3) should be [7px\]]
expected: FAIL
[Web Animations: property <outline-width> from [0px\] to [10px\] at (1.5) should be [15px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [0px\] to [10px\] at (1.5) should be [15px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [thick\] to [15px\] at (1) should be [15px\]]
expected: FAIL
[Web Animations: property <outline-width> from [inherit\] to [20px\] at (1.5) should be [15px\]]
expected: FAIL
[Web Animations: property <outline-width> from [inherit\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[Web Animations: property <outline-width> from [0px\] to [10px\] at (0.6) should be [6px\]]
expected: FAIL
[Web Animations: property <outline-width> from [thick\] to [15px\] at (-0.3) should be [2px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [0px\] to [10px\] at (0.6) should be [6px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [initial\] to [20px\] at (0.6) should be [13px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [unset\] to [20px\] at (-0.3) should be [0px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [0px\] to [10px\] at (0.3) should be [3px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [thick\] to [15px\] at (0) should be [5px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [unset\] to [20px\] at (1.5) should be [28px\]]
expected: FAIL
[Web Animations: property <outline-width> from neutral to [20px\] at (0.3) should be [13px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from neutral to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [0px\] to [10px\] at (1.5) should be [15px\]]
expected: FAIL
[Web Animations: property <outline-width> from [initial\] to [20px\] at (0) should be [3px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [initial\] to [20px\] at (0) should be [3px\]]
expected: FAIL
[Web Animations: property <outline-width> from [inherit\] to [20px\] at (0) should be [30px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [0px\] to [10px\] at (0) should be [0px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [unset\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Animations: property <outline-width> from neutral to [20px\] at (0.6) should be [16px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [thick\] to [15px\] at (-0.3) should be [2px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [thick\] to [15px\] at (0.6) should be [11px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [0px\] to [10px\] at (0.3) should be [3px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [unset\] to [20px\] at (0.6) should be [13px\]]
expected: FAIL
[Web Animations: property <outline-width> from [thick\] to [15px\] at (0.3) should be [8px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [inherit\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from neutral to [20px\] at (1.5) should be [25px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [initial\] to [20px\] at (0.3) should be [8px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [initial\] to [20px\] at (0.3) should be [8px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [unset\] to [20px\] at (0) should be [3px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [initial\] to [20px\] at (1) should be [20px\]]
expected: FAIL
[CSS Animations: property <outline-width> from neutral to [20px\] at (0.3) should be [13px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [initial\] to [20px\] at (-0.3) should be [0px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [0px\] to [10px\] at (1) should be [10px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [unset\] to [20px\] at (1.5) should be [28px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from neutral to [20px\] at (0) should be [10px\]]
expected: FAIL
[CSS Transitions with transition: all: property <outline-width> from [inherit\] to [20px\] at (0.3) should be [27px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [0px\] to [10px\] at (-0.3) should be [0px\]]
expected: FAIL
[CSS Animations: property <outline-width> from [initial\] to [20px\] at (0) should be [3px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [unset\] to [20px\] at (0.3) should be [8px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from neutral to [20px\] at (-0.3) should be [7px\]]
expected: FAIL
[CSS Animations: property <outline-width> from neutral to [20px\] at (0) should be [10px\]]
expected: FAIL
[CSS Transitions: property <outline-width> from [unset\] to [20px\] at (1.5) should be [28px\]]
expected: FAIL

View file

@ -0,0 +1,979 @@
[appearance-cssom-001.html]
[appearance: menulist-button]
expected: FAIL
[appearance: menulist-text (invalid)]
expected: FAIL
[appearance: continuous-capacity-level-indicator (invalid)]
expected: FAIL
[appearance: toolbarbutton-dropdown (invalid)]
expected: FAIL
[-webkit-appearance: -moz-window-frame-bottom (invalid)]
expected: FAIL
[appearance: statusbar (invalid)]
expected: FAIL
[-webkit-appearance: menuseparator (invalid)]
expected: FAIL
[appearance: button-arrow-next (invalid)]
expected: FAIL
[appearance: meterchunk (invalid)]
expected: FAIL
[appearance: resizerpanel (invalid)]
expected: FAIL
[-webkit-appearance: media-volume-slider-container (invalid)]
expected: FAIL
[-webkit-appearance: attachment (invalid)]
expected: FAIL
[appearance: media-volume-slider (invalid)]
expected: FAIL
[-webkit-appearance: -moz-win-borderless-glass (invalid)]
expected: FAIL
[appearance: scrollbarbutton-left (invalid)]
expected: FAIL
[appearance: scale-vertical (invalid)]
expected: FAIL
[-webkit-appearance: media-exit-fullscreen-button (invalid)]
expected: FAIL
[-webkit-appearance: sliderthumb-horizontal (invalid)]
expected: FAIL
[-webkit-appearance: button-arrow-previous (invalid)]
expected: FAIL
[-webkit-appearance: statusbar (invalid)]
expected: FAIL
[appearance: menucheckbox (invalid)]
expected: FAIL
[-webkit-appearance: square-button]
expected: FAIL
[appearance: -moz-window-button-restore (invalid)]
expected: FAIL
[appearance: media-time-remaining-display (invalid)]
expected: FAIL
[-webkit-appearance: progressbar (invalid)]
expected: FAIL
[-webkit-appearance: list-button (invalid)]
expected: FAIL
[appearance: radio-container (invalid)]
expected: FAIL
[appearance: media-seek-back-button (invalid)]
expected: FAIL
[-webkit-appearance: radio-container (invalid)]
expected: FAIL
[appearance: media-seek-forward-button (invalid)]
expected: FAIL
[-webkit-appearance: auto]
expected: FAIL
[-webkit-appearance: menupopup (invalid)]
expected: FAIL
[appearance: relevancy-level-indicator (invalid)]
expected: FAIL
[-webkit-appearance: discrete-capacity-level-indicator (invalid)]
expected: FAIL
[appearance: listitem (invalid)]
expected: FAIL
[appearance: scrollbarbutton-down (invalid)]
expected: FAIL
[appearance: scalethumb-vertical (invalid)]
expected: FAIL
[-webkit-appearance: button]
expected: FAIL
[appearance: scrollbarbutton-up (invalid)]
expected: FAIL
[-webkit-appearance: scrollbarbutton-left (invalid)]
expected: FAIL
[-webkit-appearance: checkmenuitem (invalid)]
expected: FAIL
[-webkit-appearance: toolbox (invalid)]
expected: FAIL
[-webkit-appearance: scalethumbend (invalid)]
expected: FAIL
[appearance: tabpanel (invalid)]
expected: FAIL
[appearance: sliderthumb-vertical (invalid)]
expected: FAIL
[appearance: button-arrow-down (invalid)]
expected: FAIL
[appearance: textarea]
expected: FAIL
[-webkit-appearance: toolbarbutton (invalid)]
expected: FAIL
[-webkit-appearance: tab-scroll-arrow-back (invalid)]
expected: FAIL
[-webkit-appearance: tab (invalid)]
expected: FAIL
[appearance: number-input (invalid)]
expected: FAIL
[appearance: tabpanels (invalid)]
expected: FAIL
[-webkit-appearance: color-well (invalid)]
expected: FAIL
[-webkit-appearance: treeheader (invalid)]
expected: FAIL
[-webkit-appearance: range-thumb (invalid)]
expected: FAIL
[-webkit-appearance: splitter (invalid)]
expected: FAIL
[-webkit-appearance: listbox]
expected: FAIL
[-webkit-appearance: image-controls-button (invalid)]
expected: FAIL
[-webkit-appearance: inner-spin-button (invalid)]
expected: FAIL
[appearance: -moz-win-communicationstext (invalid)]
expected: FAIL
[appearance: treeheadercell (invalid)]
expected: FAIL
[appearance: inner-spin-button (invalid)]
expected: FAIL
[-webkit-appearance: -moz-win-exclude-glass (invalid)]
expected: FAIL
[-webkit-appearance: -apple-pay-button (invalid)]
expected: FAIL
[appearance: tab (invalid)]
expected: FAIL
[appearance: scrollbarthumb-vertical (invalid)]
expected: FAIL
[-webkit-appearance: menulist-textfield (invalid)]
expected: FAIL
[-webkit-appearance: menulist-text (invalid)]
expected: FAIL
[-webkit-appearance: -moz-window-button-minimize (invalid)]
expected: FAIL
[appearance: scalethumb-horizontal (invalid)]
expected: FAIL
[-webkit-appearance: treeheadersortarrow (invalid)]
expected: FAIL
[-webkit-appearance: snapshotted-plugin-overlay (invalid)]
expected: FAIL
[-webkit-appearance: spinner-textfield (invalid)]
expected: FAIL
[appearance: media-exit-fullscreen-button (invalid)]
expected: FAIL
[appearance: color-well (invalid)]
expected: FAIL
[-webkit-appearance: sheet (invalid)]
expected: FAIL
[-webkit-appearance: treeline (invalid)]
expected: FAIL
[-webkit-appearance: media-controls-background (invalid)]
expected: FAIL
[appearance: media-sliderthumb (invalid)]
expected: FAIL
[appearance: media-fullscreen-volume-slider (invalid)]
expected: FAIL
[-webkit-appearance: searchfield-decoration (invalid)]
expected: FAIL
[-webkit-appearance: -moz-window-frame-left (invalid)]
expected: FAIL
[appearance: media-current-time-display (invalid)]
expected: FAIL
[-webkit-appearance: listitem (invalid)]
expected: FAIL
[appearance: separator (invalid)]
expected: FAIL
[-webkit-appearance: toolbar (invalid)]
expected: FAIL
[appearance: dualbutton (invalid)]
expected: FAIL
[appearance: bogus-button (invalid)]
expected: FAIL
[appearance: searchfield-decoration (invalid)]
expected: FAIL
[-webkit-appearance: spinner-upbutton (invalid)]
expected: FAIL
[-webkit-appearance: -moz-win-communicationstext (invalid)]
expected: FAIL
[appearance: scalethumbend (invalid)]
expected: FAIL
[-webkit-appearance: caret (invalid)]
expected: FAIL
[appearance: -moz-win-browsertabbar-toolbox (invalid)]
expected: FAIL
[appearance: menupopup (invalid)]
expected: FAIL
[-webkit-appearance: checkbox]
expected: FAIL
[-webkit-appearance: -moz-window-button-close (invalid)]
expected: FAIL
[appearance: checkmenuitem (invalid)]
expected: FAIL
[-webkit-appearance: media-rewind-button (invalid)]
expected: FAIL
[appearance: radio-label (invalid)]
expected: FAIL
[-webkit-appearance: progresschunk (invalid)]
expected: FAIL
[appearance: progress-bar]
expected: FAIL
[-webkit-appearance: rating-level-indicator (invalid)]
expected: FAIL
[-webkit-appearance: bogus-button (invalid)]
expected: FAIL
[appearance: button-focus (invalid)]
expected: FAIL
[appearance: -moz-window-button-close (invalid)]
expected: FAIL
[appearance: caret (invalid)]
expected: FAIL
[appearance: listbox]
expected: FAIL
[-webkit-appearance: media-controls-fullscreen-background (invalid)]
expected: FAIL
[appearance: media-volume-slider-mute-button (invalid)]
expected: FAIL
[-webkit-appearance: treeheadercell (invalid)]
expected: FAIL
[-webkit-appearance: scrollbarbutton-up (invalid)]
expected: FAIL
[-webkit-appearance: media-seek-forward-button (invalid)]
expected: FAIL
[appearance: checkbox-container (invalid)]
expected: FAIL
[appearance: button]
expected: FAIL
[-webkit-appearance: relevancy-level-indicator (invalid)]
expected: FAIL
[appearance: progresschunk-vertical (invalid)]
expected: FAIL
[appearance: treetwisty (invalid)]
expected: FAIL
[-webkit-appearance: scrollbartrack-horizontal (invalid)]
expected: FAIL
[-webkit-appearance: media-current-time-display (invalid)]
expected: FAIL
[-webkit-appearance: scalethumbtick (invalid)]
expected: FAIL
[-webkit-appearance: treetwistyopen (invalid)]
expected: FAIL
[-webkit-appearance: push-button]
expected: FAIL
[appearance: menuarrow (invalid)]
expected: FAIL
[-webkit-appearance: radiomenuitem (invalid)]
expected: FAIL
[-webkit-appearance: meterchunk (invalid)]
expected: FAIL
[appearance: treeitem (invalid)]
expected: FAIL
[-webkit-appearance: toolbarbutton-dropdown (invalid)]
expected: FAIL
[appearance: media-play-button (invalid)]
expected: FAIL
[-webkit-appearance: -moz-window-titlebar (invalid)]
expected: FAIL
[-webkit-appearance: default-button (invalid)]
expected: FAIL
[-webkit-appearance: media-sliderthumb (invalid)]
expected: FAIL
[-webkit-appearance: menulist]
expected: FAIL
[appearance: searchfield]
expected: FAIL
[-webkit-appearance: button-arrow-down (invalid)]
expected: FAIL
[-webkit-appearance: media-controls-light-bar-background (invalid)]
expected: FAIL
[-webkit-appearance: -moz-win-communications-toolbox (invalid)]
expected: FAIL
[appearance: rating-level-indicator (invalid)]
expected: FAIL
[appearance: -moz-window-frame-right (invalid)]
expected: FAIL
[appearance: spinner-downbutton (invalid)]
expected: FAIL
[-webkit-appearance: caps-lock-indicator (invalid)]
expected: FAIL
[appearance: splitter (invalid)]
expected: FAIL
[appearance: media-controls-background (invalid)]
expected: FAIL
[appearance: square-button]
expected: FAIL
[appearance: resizer (invalid)]
expected: FAIL
[appearance: -moz-win-borderless-glass (invalid)]
expected: FAIL
[appearance: toolbox (invalid)]
expected: FAIL
[-webkit-appearance: resizer (invalid)]
expected: FAIL
[-webkit-appearance: resizerpanel (invalid)]
expected: FAIL
[-webkit-appearance: dualbutton (invalid)]
expected: FAIL
[appearance: media-enter-fullscreen-button (invalid)]
expected: FAIL
[-webkit-appearance: searchfield-cancel-button (invalid)]
expected: FAIL
[-webkit-appearance: textarea]
expected: FAIL
[appearance: statusbarpanel (invalid)]
expected: FAIL
[appearance: -moz-window-titlebar-maximized (invalid)]
expected: FAIL
[appearance: media-controls-light-bar-background (invalid)]
expected: FAIL
[-webkit-appearance: tab-scroll-arrow-forward (invalid)]
expected: FAIL
[appearance: push-button]
expected: FAIL
[appearance: treetwistyopen (invalid)]
expected: FAIL
[-webkit-appearance: treetwisty (invalid)]
expected: FAIL
[appearance: progress-bar-value (invalid)]
expected: FAIL
[appearance: scrollbarbutton-right (invalid)]
expected: FAIL
[-webkit-appearance: button-bevel (invalid)]
expected: FAIL
[appearance: borderless-attachment (invalid)]
expected: FAIL
[appearance: media-controls-fullscreen-background (invalid)]
expected: FAIL
[appearance: treeheader (invalid)]
expected: FAIL
[appearance: slider-horizontal]
expected: FAIL
[-webkit-appearance: radio-label (invalid)]
expected: FAIL
[-webkit-appearance: none]
expected: FAIL
[-webkit-appearance: -moz-window-button-box (invalid)]
expected: FAIL
[appearance: menulist-textfield (invalid)]
expected: FAIL
[-webkit-appearance: tabpanel (invalid)]
expected: FAIL
[appearance: checkbox-label (invalid)]
expected: FAIL
[appearance: -apple-pay-button (invalid)]
expected: FAIL
[-webkit-appearance: progressbar-vertical (invalid)]
expected: FAIL
[appearance: -moz-window-button-box (invalid)]
expected: FAIL
[appearance: spinner-upbutton (invalid)]
expected: FAIL
[appearance: groupbox (invalid)]
expected: FAIL
[-webkit-appearance: menuitemtext (invalid)]
expected: FAIL
[appearance: snapshotted-plugin-overlay (invalid)]
expected: FAIL
[appearance: discrete-capacity-level-indicator (invalid)]
expected: FAIL
[-webkit-appearance: button-arrow-up (invalid)]
expected: FAIL
[appearance: media-volume-slider-container (invalid)]
expected: FAIL
[-webkit-appearance: searchfield]
expected: FAIL
[appearance: caps-lock-indicator (invalid)]
expected: FAIL
[-webkit-appearance: toolbargripper (invalid)]
expected: FAIL
[-webkit-appearance: scrollbarthumb-horizontal (invalid)]
expected: FAIL
[appearance: auto]
expected: FAIL
[-webkit-appearance: media-seek-back-button (invalid)]
expected: FAIL
[-webkit-appearance: button-focus (invalid)]
expected: FAIL
[appearance: progressbar-vertical (invalid)]
expected: FAIL
[appearance: tooltip (invalid)]
expected: FAIL
[-webkit-appearance: media-volume-slider-mute-button (invalid)]
expected: FAIL
[appearance: button-arrow-previous (invalid)]
expected: FAIL
[-webkit-appearance: media-fullscreen-volume-slider (invalid)]
expected: FAIL
[-webkit-appearance: scrollbarbutton-right (invalid)]
expected: FAIL
[appearance: toolbarbutton (invalid)]
expected: FAIL
[-webkit-appearance: -moz-win-glass (invalid)]
expected: FAIL
[-webkit-appearance: textfield]
expected: FAIL
[appearance: searchfield-cancel-button (invalid)]
expected: FAIL
[-webkit-appearance: spinner (invalid)]
expected: FAIL
[appearance: -moz-win-exclude-glass (invalid)]
expected: FAIL
[appearance: media-return-to-realtime-button (invalid)]
expected: FAIL
[-webkit-appearance: -moz-window-button-restore (invalid)]
expected: FAIL
[-webkit-appearance: spinner-downbutton (invalid)]
expected: FAIL
[-webkit-appearance: progresschunk-vertical (invalid)]
expected: FAIL
[-webkit-appearance: radio]
expected: FAIL
[-webkit-appearance: meterbar (invalid)]
expected: FAIL
[-webkit-appearance: slider-horizontal]
expected: FAIL
[appearance: button-bevel (invalid)]
expected: FAIL
[appearance: -moz-window-frame-left (invalid)]
expected: FAIL
[-webkit-appearance: scalethumb-vertical (invalid)]
expected: FAIL
[appearance: media-toggle-closed-captions-button (invalid)]
expected: FAIL
[appearance: checkbox]
expected: FAIL
[appearance: textfield-multiline (invalid)]
expected: FAIL
[appearance: treeline (invalid)]
expected: FAIL
[-webkit-appearance: media-time-remaining-display (invalid)]
expected: FAIL
[-webkit-appearance: -moz-window-button-maximize (invalid)]
expected: FAIL
[-webkit-appearance: -moz-win-browsertabbar-toolbox (invalid)]
expected: FAIL
[appearance: attachment (invalid)]
expected: FAIL
[-webkit-appearance: separator (invalid)]
expected: FAIL
[appearance: none]
expected: FAIL
[-webkit-appearance: -moz-win-media-toolbox (invalid)]
expected: FAIL
[appearance: searchfield-results-button (invalid)]
expected: FAIL
[appearance: searchfield-results-decoration (invalid)]
expected: FAIL
[appearance: radiomenuitem (invalid)]
expected: FAIL
[-webkit-appearance: meter]
expected: FAIL
[appearance: progresschunk (invalid)]
expected: FAIL
[-webkit-appearance: sliderthumb-vertical (invalid)]
expected: FAIL
[appearance: toolbar (invalid)]
expected: FAIL
[appearance: menulist]
expected: FAIL
[-webkit-appearance: scalethumbstart (invalid)]
expected: FAIL
[-webkit-appearance: tooltip (invalid)]
expected: FAIL
[-webkit-appearance: button-arrow-next (invalid)]
expected: FAIL
[appearance: treeview (invalid)]
expected: FAIL
[-webkit-appearance: media-volume-slider (invalid)]
expected: FAIL
[-webkit-appearance: media-return-to-realtime-button (invalid)]
expected: FAIL
[appearance: toolbargripper (invalid)]
expected: FAIL
[appearance: slider-vertical (invalid)]
expected: FAIL
[-webkit-appearance: scale-vertical (invalid)]
expected: FAIL
[-webkit-appearance: scrollbarbutton-down (invalid)]
expected: FAIL
[-webkit-appearance: checkbox-container (invalid)]
expected: FAIL
[appearance: sheet (invalid)]
expected: FAIL
[appearance: menuimage (invalid)]
expected: FAIL
[-webkit-appearance: media-toggle-closed-captions-button (invalid)]
expected: FAIL
[-webkit-appearance: searchfield-results-button (invalid)]
expected: FAIL
[appearance: media-rewind-button (invalid)]
expected: FAIL
[-webkit-appearance: media-overlay-play-button (invalid)]
expected: FAIL
[appearance: menuseparator (invalid)]
expected: FAIL
[appearance: list-button (invalid)]
expected: FAIL
[-webkit-appearance: progress-bar-value (invalid)]
expected: FAIL
[-webkit-appearance: scalethumb-horizontal (invalid)]
expected: FAIL
[-webkit-appearance: number-input (invalid)]
expected: FAIL
[-webkit-appearance: scrollbarthumb-vertical (invalid)]
expected: FAIL
[appearance: -moz-window-button-maximize (invalid)]
expected: FAIL
[appearance: scale-horizontal (invalid)]
expected: FAIL
[-webkit-appearance: checkbox-label (invalid)]
expected: FAIL
[appearance: button-arrow-up (invalid)]
expected: FAIL
[-webkit-appearance: borderless-attachment (invalid)]
expected: FAIL
[appearance: media-controls-dark-bar-background (invalid)]
expected: FAIL
[-webkit-appearance: menubar (invalid)]
expected: FAIL
[-webkit-appearance: menuimage (invalid)]
expected: FAIL
[appearance: menuitemtext (invalid)]
expected: FAIL
[appearance: -moz-window-titlebar (invalid)]
expected: FAIL
[-webkit-appearance: menuarrow (invalid)]
expected: FAIL
[appearance: menubar (invalid)]
expected: FAIL
[-webkit-appearance: statusbarpanel (invalid)]
expected: FAIL
[-webkit-appearance: tabpanels (invalid)]
expected: FAIL
[-webkit-appearance: media-controls-dark-bar-background (invalid)]
expected: FAIL
[-webkit-appearance: -moz-window-frame-right (invalid)]
expected: FAIL
[appearance: tab-scroll-arrow-back (invalid)]
expected: FAIL
[-webkit-appearance: media-mute-button (invalid)]
expected: FAIL
[appearance: menuradio (invalid)]
expected: FAIL
[appearance: range-thumb (invalid)]
expected: FAIL
[-webkit-appearance: treeview (invalid)]
expected: FAIL
[appearance: -moz-window-button-box-maximized (invalid)]
expected: FAIL
[appearance: media-mute-button (invalid)]
expected: FAIL
[-webkit-appearance: treeitem (invalid)]
expected: FAIL
[appearance: textfield]
expected: FAIL
[appearance: meterbar (invalid)]
expected: FAIL
[-webkit-appearance: menulist-button]
expected: FAIL
[-webkit-appearance: media-enter-fullscreen-button (invalid)]
expected: FAIL
[appearance: default-button (invalid)]
expected: FAIL
[appearance: media-fullscreen-volume-slider-thumb (invalid)]
expected: FAIL
[-webkit-appearance: media-fullscreen-volume-slider-thumb (invalid)]
expected: FAIL
[-webkit-appearance: continuous-capacity-level-indicator (invalid)]
expected: FAIL
[-webkit-appearance: groupbox (invalid)]
expected: FAIL
[appearance: media-overlay-play-button (invalid)]
expected: FAIL
[appearance: scrollbartrack-vertical (invalid)]
expected: FAIL
[appearance: scalethumbtick (invalid)]
expected: FAIL
[-webkit-appearance: menucheckbox (invalid)]
expected: FAIL
[appearance: radio]
expected: FAIL
[-webkit-appearance: searchfield-results-decoration (invalid)]
expected: FAIL
[appearance: -moz-win-media-toolbox (invalid)]
expected: FAIL
[-webkit-appearance: -moz-window-titlebar-maximized (invalid)]
expected: FAIL
[appearance: progressbar (invalid)]
expected: FAIL
[appearance: media-slider (invalid)]
expected: FAIL
[appearance: scalethumbstart (invalid)]
expected: FAIL
[-webkit-appearance: range (invalid)]
expected: FAIL
[-webkit-appearance: menuradio (invalid)]
expected: FAIL
[appearance: spinner-textfield (invalid)]
expected: FAIL
[appearance: spinner (invalid)]
expected: FAIL
[-webkit-appearance: -moz-window-button-box-maximized (invalid)]
expected: FAIL
[appearance: treeheadersortarrow (invalid)]
expected: FAIL
[appearance: -moz-win-glass (invalid)]
expected: FAIL
[appearance: meter]
expected: FAIL
[appearance: image-controls-button (invalid)]
expected: FAIL
[-webkit-appearance: slider-vertical (invalid)]
expected: FAIL
[-webkit-appearance: progress-bar]
expected: FAIL
[appearance: -moz-window-button-minimize (invalid)]
expected: FAIL
[-webkit-appearance: media-slider (invalid)]
expected: FAIL
[-webkit-appearance: media-volume-sliderthumb (invalid)]
expected: FAIL
[appearance: scrollbartrack-horizontal (invalid)]
expected: FAIL
[appearance: sliderthumb-horizontal (invalid)]
expected: FAIL
[-webkit-appearance: menuitem (invalid)]
expected: FAIL
[appearance: menuitem (invalid)]
expected: FAIL
[appearance: scrollbarthumb-horizontal (invalid)]
expected: FAIL
[-webkit-appearance: scrollbartrack-vertical (invalid)]
expected: FAIL
[appearance: range (invalid)]
expected: FAIL
[appearance: media-volume-sliderthumb (invalid)]
expected: FAIL
[-webkit-appearance: media-play-button (invalid)]
expected: FAIL
[-webkit-appearance: textfield-multiline (invalid)]
expected: FAIL
[appearance: -moz-window-frame-bottom (invalid)]
expected: FAIL
[appearance: -moz-win-communications-toolbox (invalid)]
expected: FAIL
[appearance: tab-scroll-arrow-forward (invalid)]
expected: FAIL
[-webkit-appearance: scale-horizontal (invalid)]
expected: FAIL

View file

@ -0,0 +1,13 @@
[appearance-initial-value-001.html]
[support for appearance]
expected: FAIL
[initial value for appearance]
expected: FAIL
[support for -webkit-appearance]
expected: FAIL
[initial value for -webkit-appearance]
expected: FAIL

View file

@ -0,0 +1,2 @@
[appearance-menulist-button-002.html]
expected: FAIL

View file

@ -0,0 +1,10 @@
[appearance-parsing.html]
[parsing via modification of cssText]
expected: FAIL
[parsing via attribute change steps of CSS declaration block's owner node]
expected: FAIL
[parsing via creation of CSS declaration block]
expected: FAIL

View file

@ -0,0 +1,13 @@
[appearance-property.html]
[getPropertyValue]
expected: FAIL
[property access]
expected: FAIL
[removeProperty]
expected: FAIL
[setProperty]
expected: FAIL

View file

@ -0,0 +1,10 @@
[appearance-serialization.html]
[serialization via CSSStyleRule]
expected: FAIL
[serialization via CSSStyleDeclaration]
expected: FAIL
[serialization via CSSMediaRule]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-007.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-008.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-009.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-010.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-011.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-012.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-013.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-014.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-015.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-016.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-017.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-018.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-019.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-020.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-021.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-022.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-023.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-024.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-025.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[box-sizing-026.html]
expected: FAIL

View file

@ -0,0 +1,7 @@
[box-sizing-027.html]
[Check the resolved value of 'width' when box-sizing is border-box.]
expected: FAIL
[Check the resolved value of 'height' when box-sizing is border-box.]
expected: FAIL

View file

@ -0,0 +1,10 @@
[caret-color-009.html]
[Check the resolved value of 'currentcolor']
expected: FAIL
[Check the resolved value of 'initial']
expected: FAIL
[Check the resolved value of 'auto']
expected: FAIL

View file

@ -0,0 +1,34 @@
[caret-color-013.html]
[Test caret-color: blue (inherited)]
expected: FAIL
[Test caret-color: inherit]
expected: FAIL
[Test caret-color: lime]
expected: FAIL
[Test caret-color: initial (inherited)]
expected: FAIL
[Test caret-color: initial]
expected: FAIL
[Test caret-color: inherit (inherited)]
expected: FAIL
[Test caret-color: auto]
expected: FAIL
[Test caret-color: currentcolor]
expected: FAIL
[Test caret-color: rgb(0, 100, 100)]
expected: FAIL
[Test default caret-color]
expected: FAIL
[Reset caret-color: initial]
expected: FAIL

View file

@ -0,0 +1,4 @@
[caret-color-018.html]
[The caret-color property is animatable]
expected: FAIL

View file

@ -0,0 +1,4 @@
[caret-color-019.html]
[caret-color: auto is not interpolable]
expected: FAIL

View file

@ -0,0 +1,4 @@
[caret-color-020.html]
[caret-color: currentcolor is interpolable]
expected: FAIL

View file

@ -0,0 +1,4 @@
[caret-color-021.html]
[Default caret-color is not interpolable]
expected: FAIL

View file

@ -0,0 +1,2 @@
[inheritance.html]
expected: ERROR

View file

@ -0,0 +1,2 @@
[outline-001.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-002.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-003.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-004.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-005.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-006.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-007.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-008.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-010.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-011.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-012.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-013.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-014.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-015.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-016.html]
expected: FAIL

View file

@ -0,0 +1,10 @@
[outline-017.html]
[outline-offset is animated as a length]
expected: FAIL
[outline-color is animated as a color]
expected: FAIL
[outline-width is animated as a length]
expected: FAIL

View file

@ -0,0 +1,4 @@
[outline-018.html]
[outline-style is animated as a discrete type]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-019.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-020.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-021.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-022.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-023.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-color-001.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-offset-001.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-offset-table-001.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-style-011.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-style-012.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-style-013.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[outline-style-014.html]
expected: FAIL

View file

@ -0,0 +1,7 @@
[box-sizing-computed.html]
[Property box-sizing value 'border-box']
expected: FAIL
[Property box-sizing value 'content-box']
expected: FAIL

View file

@ -0,0 +1,10 @@
[caret-color-computed.html]
[Property caret-color value 'currentColor']
expected: FAIL
[Property caret-color value 'red']
expected: FAIL
[Property caret-color value 'auto']
expected: FAIL

View file

@ -0,0 +1,7 @@
[caret-color-valid.html]
[e.style['caret-color'\] = "rgba(10, 20, 30, 0.4)" should set the property value]
expected: FAIL
[e.style['caret-color'\] = "auto" should set the property value]
expected: FAIL

View file

@ -0,0 +1,109 @@
[cursor-computed.html]
[Property cursor value 'vertical-text']
expected: FAIL
[Property cursor value 'nwse-resize']
expected: FAIL
[Property cursor value 'grab']
expected: FAIL
[Property cursor value 'n-resize']
expected: FAIL
[Property cursor value 'ne-resize']
expected: FAIL
[Property cursor value 'help']
expected: FAIL
[Property cursor value 'progress']
expected: FAIL
[Property cursor value 'no-drop']
expected: FAIL
[Property cursor value 'not-allowed']
expected: FAIL
[Property cursor value 'alias']
expected: FAIL
[Property cursor value 's-resize']
expected: FAIL
[Property cursor value 'nw-resize']
expected: FAIL
[Property cursor value 'zoom-out']
expected: FAIL
[Property cursor value 'grabbing']
expected: FAIL
[Property cursor value 'default']
expected: FAIL
[Property cursor value 'sw-resize']
expected: FAIL
[Property cursor value 'zoom-in']
expected: FAIL
[Property cursor value 'row-resize']
expected: FAIL
[Property cursor value 'pointer']
expected: FAIL
[Property cursor value 'ew-resize']
expected: FAIL
[Property cursor value 'wait']
expected: FAIL
[Property cursor value 'cell']
expected: FAIL
[Property cursor value 'copy']
expected: FAIL
[Property cursor value 'nesw-resize']
expected: FAIL
[Property cursor value 'text']
expected: FAIL
[Property cursor value 'context-menu']
expected: FAIL
[Property cursor value 'all-scroll']
expected: FAIL
[Property cursor value 'col-resize']
expected: FAIL
[Property cursor value 'w-resize']
expected: FAIL
[Property cursor value 'ns-resize']
expected: FAIL
[Property cursor value 'auto']
expected: FAIL
[Property cursor value 'crosshair']
expected: FAIL
[Property cursor value 'se-resize']
expected: FAIL
[Property cursor value 'e-resize']
expected: FAIL
[Property cursor value 'move']
expected: FAIL
[Property cursor value 'none']
expected: FAIL

View file

@ -0,0 +1,10 @@
[outline-color-computed.html]
[Property outline-color value 'currentColor']
expected: FAIL
[invert, if supported, computes to invert]
expected: FAIL
[Property outline-color value 'red']
expected: FAIL

View file

@ -0,0 +1,4 @@
[outline-color-valid-mandatory.html]
[e.style['outline-color'\] = "rgba(10, 20, 30, 0.4)" should set the property value]
expected: FAIL

View file

@ -0,0 +1,4 @@
[outline-color-valid-optional.html]
[e.style['outline-color'\] = "invert" should set the property value]
expected: FAIL

View file

@ -0,0 +1,13 @@
[outline-offset-computed.html]
[Property outline-offset value '0.5em']
expected: FAIL
[Property outline-offset value 'calc(10px + 0.5em)']
expected: FAIL
[Property outline-offset value 'calc(10px - 0.5em)']
expected: FAIL
[Property outline-offset value '10px']
expected: FAIL

View file

@ -0,0 +1,13 @@
[outline-offset-valid.html]
[e.style['outline-offset'\] = "calc(3rem + 4vw)" should set the property value]
expected: FAIL
[e.style['outline-offset'\] = "0" should set the property value]
expected: FAIL
[e.style['outline-offset'\] = "1px" should set the property value]
expected: FAIL
[e.style['outline-offset'\] = "2em" should set the property value]
expected: FAIL

View file

@ -0,0 +1,13 @@
[outline-shorthand.html]
[e.style['outline'\] = "3px ridge blue" should not set unrelated longhands]
expected: FAIL
[e.style['outline'\] = "3px ridge blue" should set outline-color]
expected: FAIL
[e.style['outline'\] = "3px ridge blue" should set outline-width]
expected: FAIL
[e.style['outline'\] = "3px ridge blue" should set outline-style]
expected: FAIL

View file

@ -0,0 +1,31 @@
[outline-style-computed.html]
[Property outline-style value 'solid']
expected: FAIL
[Property outline-style value 'inset']
expected: FAIL
[Property outline-style value 'double']
expected: FAIL
[Property outline-style value 'dashed']
expected: FAIL
[Property outline-style value 'none']
expected: FAIL
[Property outline-style value 'outset']
expected: FAIL
[Property outline-style value 'auto']
expected: FAIL
[Property outline-style value 'dotted']
expected: FAIL
[Property outline-style value 'groove']
expected: FAIL
[Property outline-style value 'ridge']
expected: FAIL

View file

@ -0,0 +1,31 @@
[outline-style-valid.html]
[e.style['outline-style'\] = "outset" should set the property value]
expected: FAIL
[e.style['outline-style'\] = "double" should set the property value]
expected: FAIL
[e.style['outline-style'\] = "none" should set the property value]
expected: FAIL
[e.style['outline-style'\] = "solid" should set the property value]
expected: FAIL
[e.style['outline-style'\] = "groove" should set the property value]
expected: FAIL
[e.style['outline-style'\] = "dotted" should set the property value]
expected: FAIL
[e.style['outline-style'\] = "dashed" should set the property value]
expected: FAIL
[e.style['outline-style'\] = "inset" should set the property value]
expected: FAIL
[e.style['outline-style'\] = "auto" should set the property value]
expected: FAIL
[e.style['outline-style'\] = "ridge" should set the property value]
expected: FAIL

View file

@ -0,0 +1,61 @@
[outline-valid-mandatory.html]
[e.style['outline'\] = "double" should set the property value]
expected: FAIL
[e.style['outline'\] = "thick" should set the property value]
expected: FAIL
[e.style['outline'\] = "medium" should set the property value]
expected: FAIL
[e.style['outline'\] = "solid" should set the property value]
expected: FAIL
[e.style['outline'\] = "dashed thin" should set the property value]
expected: FAIL
[e.style['outline'\] = "1px" should set the property value]
expected: FAIL
[e.style['outline'\] = "dotted" should set the property value]
expected: FAIL
[e.style['outline'\] = "auto" should set the property value]
expected: FAIL
[e.style['outline'\] = "inset" should set the property value]
expected: FAIL
[e.style['outline'\] = "dashed" should set the property value]
expected: FAIL
[e.style['outline'\] = "ridge" should set the property value]
expected: FAIL
[e.style['outline'\] = "outset" should set the property value]
expected: FAIL
[e.style['outline'\] = "none" should set the property value]
expected: FAIL
[e.style['outline'\] = "calc(2em + 3ex)" should set the property value]
expected: FAIL
[e.style['outline'\] = "medium rgba(10, 20, 30, 0.4)" should set the property value]
expected: FAIL
[e.style['outline'\] = "rgba(10, 20, 30, 0.4)" should set the property value]
expected: FAIL
[e.style['outline'\] = "groove" should set the property value]
expected: FAIL
[e.style['outline'\] = "0" should set the property value]
expected: FAIL
[e.style['outline'\] = "3px ridge rgba(10, 20, 30, 0.4)" should set the property value]
expected: FAIL
[e.style['outline'\] = "thin" should set the property value]
expected: FAIL

View file

@ -0,0 +1,7 @@
[outline-valid-optional.html]
[e.style['outline'\] = "invert dotted 1px" should set the property value]
expected: FAIL
[e.style['outline'\] = "invert" should set the property value]
expected: FAIL

View file

@ -0,0 +1,14 @@
[outline-width-computed.html]
expected: ERROR
[Property outline-width value 'calc(10px + 0.5em)']
expected: FAIL
[Property outline-width value '10px']
expected: FAIL
[Property outline-width value 'calc(10px - 0.5em)']
expected: FAIL
[Property outline-width value '0.5em']
expected: FAIL

View file

@ -0,0 +1,22 @@
[outline-width-valid.html]
[e.style['outline-width'\] = "thick" should set the property value]
expected: FAIL
[e.style['outline-width'\] = "medium" should set the property value]
expected: FAIL
[e.style['outline-width'\] = "thin" should set the property value]
expected: FAIL
[e.style['outline-width'\] = "calc(2em + 3ex)" should set the property value]
expected: FAIL
[e.style['outline-width'\] = "2em" should set the property value]
expected: FAIL
[e.style['outline-width'\] = "0" should set the property value]
expected: FAIL
[e.style['outline-width'\] = "1px" should set the property value]
expected: FAIL

View file

@ -0,0 +1,13 @@
[resize-computed.html]
[Property resize value 'none']
expected: FAIL
[Property resize value 'horizontal']
expected: FAIL
[Property resize value 'vertical']
expected: FAIL
[Property resize value 'both']
expected: FAIL

View file

@ -0,0 +1,13 @@
[resize-valid.html]
[e.style['resize'\] = "vertical" should set the property value]
expected: FAIL
[e.style['resize'\] = "horizontal" should set the property value]
expected: FAIL
[e.style['resize'\] = "both" should set the property value]
expected: FAIL
[e.style['resize'\] = "none" should set the property value]
expected: FAIL

Some files were not shown because too many files have changed in this diff Show more