diff --git a/components/layout/incremental.rs b/components/layout/incremental.rs index 4ef56a1e5c0..d909192c0d3 100644 --- a/components/layout/incremental.rs +++ b/components/layout/incremental.rs @@ -182,8 +182,15 @@ pub fn compute_damage(old: Option<&Arc>, new: &ComputedValues) - // text shaping is re-run. 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_font.font_family, get_font.font_style, get_font.font_variant, get_font.font_weight, - get_font.font_size, get_font.font_stretch + get_font.font_size, get_font.font_stretch, + get_inheritedbox.direction, get_inheritedbox.writing_mode, + get_inheritedbox.text_orientation, + get_text.text_decoration, get_text.unicode_bidi, + get_inheritedtable.empty_cells, get_inheritedtable.caption_side, + get_column.column_width, get_column.column_count ]) || add_if_not_equal!(old, new, damage, [ REPAINT, STORE_OVERFLOW, BUBBLE_ISIZES, REFLOW_OUT_OF_FLOW, REFLOW ], [get_border.border_top_width, get_border.border_right_width, @@ -193,7 +200,13 @@ pub fn compute_damage(old: Option<&Arc>, new: &ComputedValues) - get_padding.padding_top, get_padding.padding_right, get_padding.padding_bottom, get_padding.padding_left, get_box.width, get_box.height, - get_inheritedtext.text_align, get_text.text_decoration, get_inheritedbox.line_height + get_inheritedbox.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 ]) || add_if_not_equal!(old, new, damage, [ REPAINT, STORE_OVERFLOW, REFLOW_OUT_OF_FLOW ], [ get_positionoffsets.top, get_positionoffsets.left, @@ -201,8 +214,26 @@ pub fn compute_damage(old: Option<&Arc>, new: &ComputedValues) - ]) || add_if_not_equal!(old, new, damage, [ REPAINT ], [ get_color.color, get_background.background_color, + get_background.background_image, get_background.background_position, + get_background.background_repeat, get_background.background_attachment, + get_background.background_clip, get_background.background_origin, + get_background.background_size, get_border.border_top_color, get_border.border_right_color, - get_border.border_bottom_color, get_border.border_left_color + get_border.border_bottom_color, get_border.border_left_color, + get_border.border_top_style, get_border.border_right_style, + 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_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.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_effects.image_rendering, + + // Note: May require REFLOW et al. if `visibility: collapse` is implemented. + get_inheritedbox.visibility ]); // If the layer requirements of this flow have changed due to the value diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 34f6556c9b8..ecdbc20489c 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -2072,6 +2072,30 @@ "url": "/_mozilla/css/incremental_text_color_a.html" } ], + "css/incremental_visibility_a.html": [ + { + "path": "css/incremental_visibility_a.html", + "references": [ + [ + "/_mozilla/css/incremental_visibility_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/incremental_visibility_a.html" + } + ], + "css/incremental_visibility_ref.html": [ + { + "path": "css/incremental_visibility_ref.html", + "references": [ + [ + "/_mozilla/css/incremental_visibility_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/incremental_visibility_ref.html" + } + ], "css/inline_absolute_hypothetical_clip_a.html": [ { "path": "css/inline_absolute_hypothetical_clip_a.html", @@ -8332,6 +8356,30 @@ "url": "/_mozilla/css/incremental_text_color_a.html" } ], + "css/incremental_visibility_a.html": [ + { + "path": "css/incremental_visibility_a.html", + "references": [ + [ + "/_mozilla/css/incremental_visibility_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/incremental_visibility_a.html" + } + ], + "css/incremental_visibility_ref.html": [ + { + "path": "css/incremental_visibility_ref.html", + "references": [ + [ + "/_mozilla/css/incremental_visibility_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/incremental_visibility_ref.html" + } + ], "css/inline_absolute_hypothetical_clip_a.html": [ { "path": "css/inline_absolute_hypothetical_clip_a.html", diff --git a/tests/wpt/mozilla/tests/css/incremental_visibility_a.html b/tests/wpt/mozilla/tests/css/incremental_visibility_a.html new file mode 100644 index 00000000000..b52a7814549 --- /dev/null +++ b/tests/wpt/mozilla/tests/css/incremental_visibility_a.html @@ -0,0 +1,29 @@ + + + + + Incremental visibility test + + + + +
+ + + diff --git a/tests/wpt/mozilla/tests/css/incremental_visibility_ref.html b/tests/wpt/mozilla/tests/css/incremental_visibility_ref.html new file mode 100644 index 00000000000..a90c2b184e3 --- /dev/null +++ b/tests/wpt/mozilla/tests/css/incremental_visibility_ref.html @@ -0,0 +1,18 @@ + + + + + Incremental visibility reference + + + + +
+ +