Add missing properties to compute_damage

This commit is contained in:
Matt Brubeck 2016-03-21 14:03:46 -07:00
parent c2c3b30f87
commit f7d490a7e7
4 changed files with 129 additions and 3 deletions

View file

@ -182,8 +182,15 @@ pub fn compute_damage(old: Option<&Arc<ComputedValues>>, 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<ComputedValues>>, 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<ComputedValues>>, 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

View file

@ -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",

View file

@ -0,0 +1,29 @@
<!doctype html>
<html class="reftest-wait">
<head>
<meta charset="UTF-8">
<title>Incremental visibility test</title>
<link rel="match" href="incremental_visibility_ref.html">
<style>
div {
background: green;
height: 100px;
width: 100px;
visibility: hidden;
}
div.show {
visibility: visible;
}
</style>
</head>
<body>
<div></div>
<script>
window.onload = function() {
document.body.offsetWidth; // force layout
document.querySelector('div').classList.add('show');
document.documentElement.classList.remove('reftest-wait');
}
</script>
</body>
</html>

View file

@ -0,0 +1,18 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Incremental visibility reference</title>
<link rel="match" href="incremental_visibility_ref.html">
<style>
div {
background: green;
height: 100px;
width: 100px;
}
</style>
</head>
<body>
<div></div>
</body>
</html>