aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2016-04-07 03:18:15 +0530
committerbors-servo <lbergstrom+bors@mozilla.com>2016-04-07 03:18:15 +0530
commit256b865055c10082731b218f41373d47ad632062 (patch)
tree892f770ecddf19523a91c2d8857ebea7cdcf5380 /components/layout
parenta5bc74be2fc2b1ab43d5809d776a5056ac8f35c7 (diff)
parentc3d6bfc3dfd5d17c739c04b35ef76f339fe8d6fa (diff)
downloadservo-256b865055c10082731b218f41373d47ad632062.tar.gz
servo-256b865055c10082731b218f41373d47ad632062.zip
Auto merge of #10407 - mauricioc:issue10403, r=bholley
Move some CSS properties to match Gecko's representation Fixes #10403. Animation had an extra transition-delay property, which was also moved to Box. Let me know if I should squash the commits. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10407) <!-- Reviewable:end -->
Diffstat (limited to 'components/layout')
-rw-r--r--components/layout/block.rs6
-rw-r--r--components/layout/display_list_builder.rs2
-rw-r--r--components/layout/flex.rs7
-rw-r--r--components/layout/fragment.rs8
-rw-r--r--components/layout/incremental.rs16
-rw-r--r--components/layout/inline.rs2
-rw-r--r--components/layout/text.rs2
-rw-r--r--components/layout/wrapper.rs2
8 files changed, 20 insertions, 25 deletions
diff --git a/components/layout/block.rs b/components/layout/block.rs
index 72bd5de12cd..390810e9831 100644
--- a/components/layout/block.rs
+++ b/components/layout/block.rs
@@ -359,7 +359,7 @@ impl CandidateBSizeIterator {
};
// If the style includes `box-sizing: border-box`, subtract the border and padding.
- let adjustment_for_box_sizing = match fragment.style.get_box().box_sizing {
+ let adjustment_for_box_sizing = match fragment.style.get_position().box_sizing {
box_sizing::T::border_box => fragment.border_padding.block_start_end(),
box_sizing::T::content_box => Au(0),
};
@@ -1308,7 +1308,7 @@ impl BlockFlow {
let opaque_self = OpaqueFlow::from_flow(self);
// Calculate non-auto block size to pass to children.
- let box_border = match self.fragment.style().get_box().box_sizing {
+ let box_border = match self.fragment.style().get_position().box_sizing {
box_sizing::T::border_box => self.fragment.border_padding.block_start_end(),
box_sizing::T::content_box => Au(0),
};
@@ -2189,7 +2189,7 @@ pub trait ISizeAndMarginsComputer {
parent_flow_inline_size,
layout_context);
let style = block.fragment.style();
- match (computed_inline_size, style.get_box().box_sizing) {
+ match (computed_inline_size, style.get_position().box_sizing) {
(MaybeAuto::Specified(size), box_sizing::T::border_box) => {
computed_inline_size =
MaybeAuto::Specified(size - block.fragment.border_padding.inline_start_end())
diff --git a/components/layout/display_list_builder.rs b/components/layout/display_list_builder.rs
index 73b747d82dc..7f8fe5df579 100644
--- a/components/layout/display_list_builder.rs
+++ b/components/layout/display_list_builder.rs
@@ -1122,7 +1122,7 @@ impl FragmentDisplayListBuilding for Fragment {
self.style().get_color().color
};
- for text_shadow in self.style.get_effects().text_shadow.0.iter().rev() {
+ for text_shadow in self.style.get_inheritedtext().text_shadow.0.iter().rev() {
let offset = &Point2D::new(text_shadow.offset_x, text_shadow.offset_y);
let color = self.style().resolve_color(text_shadow.color);
self.build_display_list_for_text_fragment(state,
diff --git a/components/layout/flex.rs b/components/layout/flex.rs
index 38de62a6fba..4c2b615f09b 100644
--- a/components/layout/flex.rs
+++ b/components/layout/flex.rs
@@ -25,7 +25,6 @@ use std::cmp::max;
use std::sync::Arc;
use style::computed_values::flex_direction;
use style::logical_geometry::LogicalSize;
-use style::properties::style_structs;
use style::properties::{ComputedValues, ServoComputedValues};
use style::values::computed::{LengthOrPercentage, LengthOrPercentageOrAuto, LengthOrPercentageOrNone};
@@ -88,10 +87,6 @@ pub struct FlexFlow {
available_cross_size: AxisSize
}
-fn flex_style(fragment: &Fragment) -> &style_structs::Flex {
- fragment.style.get_flex()
-}
-
// TODO(zentner): This function should use flex-basis.
fn flex_item_inline_sizes(flow: &mut Flow) -> IntrinsicISizes {
let _scope = layout_debug_scope!("flex::flex_item_inline_sizes");
@@ -113,7 +108,7 @@ impl FlexFlow {
flotation: Option<FloatKind>)
-> FlexFlow {
- let main_mode = match flex_style(&fragment).flex_direction {
+ let main_mode = match fragment.style.get_position().flex_direction {
flex_direction::T::row_reverse | flex_direction::T::row => Mode::Inline,
flex_direction::T::column_reverse | flex_direction::T::column => Mode::Block
};
diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs
index 8a6d8bf1c85..bb761603f2f 100644
--- a/components/layout/fragment.rs
+++ b/components/layout/fragment.rs
@@ -2192,7 +2192,7 @@ impl Fragment {
// FIXME(pcwalton): Don't unconditionally form stacking contexts for `overflow_x: scroll`
// and `overflow_y: scroll`. This needs multiple layers per stacking context.
match (self.style().get_box().position,
- self.style().get_box().z_index,
+ self.style().get_position().z_index,
self.style().get_box().overflow_x,
self.style().get_box().overflow_y.0) {
(position::T::absolute,
@@ -2224,15 +2224,15 @@ impl Fragment {
pub fn effective_z_index(&self) -> i32 {
match self.style().get_box().position {
position::T::static_ => {},
- _ => return self.style().get_box().z_index.number_or_zero(),
+ _ => return self.style().get_position().z_index.number_or_zero(),
}
if self.style().get_effects().transform.0.is_some() {
- return self.style().get_box().z_index.number_or_zero();
+ return self.style().get_position().z_index.number_or_zero();
}
match self.style().get_box().display {
- display::T::flex => self.style().get_box().z_index.number_or_zero(),
+ display::T::flex => self.style().get_position().z_index.number_or_zero(),
_ => 0,
}
}
diff --git a/components/layout/incremental.rs b/components/layout/incremental.rs
index 6433c84ac02..cc34dc49bcd 100644
--- a/components/layout/incremental.rs
+++ b/components/layout/incremental.rs
@@ -176,7 +176,7 @@ pub fn compute_damage(old: Option<&Arc<ServoComputedValues>>, new: &ServoCompute
REFLOW,
RECONSTRUCT_FLOW
], [
- get_box.float, get_box.display, get_box.position, get_box.content,
+ get_box.float, get_box.display, get_box.position, get_counters.content,
get_counters.counter_reset, get_counters.counter_increment,
get_list.quotes, get_list.list_style_type,
@@ -185,7 +185,7 @@ pub fn compute_damage(old: Option<&Arc<ServoComputedValues>>, new: &ServoCompute
get_inheritedtext.letter_spacing, get_inheritedtext.text_rendering,
get_inheritedtext.text_transform, get_inheritedtext.word_spacing,
get_inheritedtext.overflow_wrap, get_inheritedtext.text_justify,
- get_inheritedtext.white_space, get_inheritedtext.word_break, get_inheritedtext.text_overflow,
+ get_inheritedtext.white_space, get_inheritedtext.word_break, get_text.text_overflow,
get_font.font_family, get_font.font_style, get_font.font_variant, get_font.font_weight,
get_font.font_size, get_font.font_stretch,
get_inheritedbox.direction, get_inheritedbox.writing_mode,
@@ -202,17 +202,17 @@ pub fn compute_damage(old: Option<&Arc<ServoComputedValues>>, new: &ServoCompute
get_padding.padding_top, get_padding.padding_right,
get_padding.padding_bottom, get_padding.padding_left,
get_box.width, get_box.height,
- get_inheritedbox.line_height,
+ get_inheritedtext.line_height,
get_inheritedtext.text_align, get_inheritedtext.text_indent,
get_table.table_layout,
get_inheritedtable.border_collapse,
get_inheritedtable.border_spacing,
get_column.column_gap,
- get_flex.flex_direction
+ get_position.flex_direction
]) || add_if_not_equal!(old, new, damage,
[ REPAINT, STORE_OVERFLOW, REFLOW_OUT_OF_FLOW ], [
- get_positionoffsets.top, get_positionoffsets.left,
- get_positionoffsets.right, get_positionoffsets.bottom
+ get_position.top, get_position.left,
+ get_position.right, get_position.bottom
]) || add_if_not_equal!(old, new, damage,
[ REPAINT ], [
get_color.color, get_background.background_color,
@@ -226,10 +226,10 @@ pub fn compute_damage(old: Option<&Arc<ServoComputedValues>>, new: &ServoCompute
get_border.border_bottom_style, get_border.border_left_style,
get_border.border_top_left_radius, get_border.border_top_right_radius,
get_border.border_bottom_left_radius, get_border.border_bottom_right_radius,
- get_box.z_index, get_box._servo_overflow_clip_box,
+ get_position.z_index, get_box._servo_overflow_clip_box,
get_inheritedtext._servo_text_decorations_in_effect,
get_pointing.cursor, get_pointing.pointer_events,
- get_effects.box_shadow, get_effects.clip, get_effects.text_shadow, get_effects.filter,
+ get_effects.box_shadow, get_effects.clip, get_inheritedtext.text_shadow, get_effects.filter,
get_effects.transform, get_effects.backface_visibility, get_effects.transform_style,
get_effects.transform_origin, get_effects.perspective, get_effects.perspective_origin,
get_effects.mix_blend_mode, get_inheritedbox.image_rendering,
diff --git a/components/layout/inline.rs b/components/layout/inline.rs
index c283179afdf..94a61bdd061 100644
--- a/components/layout/inline.rs
+++ b/components/layout/inline.rs
@@ -671,7 +671,7 @@ impl LineBreaker {
let mut need_ellipsis = false;
let available_inline_size = self.pending_line.green_zone.inline -
self.pending_line.bounds.size.inline - indentation;
- match (fragment.style().get_inheritedtext().text_overflow,
+ match (fragment.style().get_text().text_overflow,
fragment.style().get_box().overflow_x) {
(text_overflow::T::clip, _) | (_, overflow_x::T::visible) => {}
(text_overflow::T::ellipsis, _) => {
diff --git a/components/layout/text.rs b/components/layout/text.rs
index 30ce9f4bb41..0fb9e7cde05 100644
--- a/components/layout/text.rs
+++ b/components/layout/text.rs
@@ -417,7 +417,7 @@ pub fn font_metrics_for_style(font_context: &mut FontContext, font_style: Arc<Fo
/// Returns the line block-size needed by the given computed style and font size.
pub fn line_height_from_style(style: &ServoComputedValues, metrics: &FontMetrics) -> Au {
let font_size = style.get_font().font_size;
- match style.get_inheritedbox().line_height {
+ match style.get_inheritedtext().line_height {
line_height::T::Normal => metrics.line_gap,
line_height::T::Number(l) => font_size.scale_by(l),
line_height::T::Length(l) => l
diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs
index a0f7c54de93..ad8ce2f5141 100644
--- a/components/layout/wrapper.rs
+++ b/components/layout/wrapper.rs
@@ -1034,7 +1034,7 @@ impl<'ln> ThreadSafeLayoutNode for ServoThreadSafeLayoutNode<'ln> {
data.per_pseudo.get(&PseudoElement::After).unwrap()
};
- return match style.as_ref().get_box().content {
+ return match style.as_ref().get_counters().content {
content::T::Content(ref value) if !value.is_empty() => {
TextContent::GeneratedContent((*value).clone())
}