diff options
-rw-r--r-- | components/layout/construct.rs | 6 | ||||
-rw-r--r-- | tests/ref/basic.list | 1 | ||||
-rw-r--r-- | tests/ref/jumpiness_a.html | 19 | ||||
-rw-r--r-- | tests/ref/jumpiness_ref.html | 15 |
4 files changed, 39 insertions, 2 deletions
diff --git a/components/layout/construct.rs b/components/layout/construct.rs index 12eb258f8f5..cc67cc6c300 100644 --- a/components/layout/construct.rs +++ b/components/layout/construct.rs @@ -1249,7 +1249,7 @@ impl<'a> FlowConstructor<'a> { let mut layout_data_ref = node.mutate_layout_data(); let layout_data = layout_data_ref.as_mut().expect("no layout data"); - let style = (*node.get_style(&layout_data)).clone(); + let mut style = (*node.get_style(&layout_data)).clone(); let damage = layout_data.data.restyle_damage; match node.construction_result_mut(layout_data) { &mut ConstructionResult::None => true, @@ -1297,8 +1297,10 @@ impl<'a> FlowConstructor<'a> { .repair_style_and_bubble_inline_sizes(&style); } _ => { + if node.is_replaced_content() { + properties::modify_style_for_replaced_content(&mut style); + } fragment.repair_style(&style); - return true } } } diff --git a/tests/ref/basic.list b/tests/ref/basic.list index 786eb580f29..60fd6bb7f45 100644 --- a/tests/ref/basic.list +++ b/tests/ref/basic.list @@ -169,6 +169,7 @@ experimental == iframe/size_attributes_vertical_writing_mode.html iframe/size_at == inset.html inset_ref.html != inset_blackborder.html blackborder_ref.html == issue-1324.html issue-1324-ref.html +== jumpiness_a.html jumpiness_ref.html == last_child_pseudo_a.html last_child_pseudo_b.html == last_of_type_pseudo_a.html last_of_type_pseudo_b.html == legacy_cellspacing_attribute_a.html border_spacing_ref.html diff --git a/tests/ref/jumpiness_a.html b/tests/ref/jumpiness_a.html new file mode 100644 index 00000000000..8a7a58a933a --- /dev/null +++ b/tests/ref/jumpiness_a.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<style> +body.hello { + text-decoration: underline; +} +</style> +</head> +<body> +a +<script> +setTimeout(function() { + document.body.classList.add('hello'); +}, 0); +</script> +</body> +</html> + diff --git a/tests/ref/jumpiness_ref.html b/tests/ref/jumpiness_ref.html new file mode 100644 index 00000000000..ebd503a9187 --- /dev/null +++ b/tests/ref/jumpiness_ref.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<style> +body { + text-decoration: underline; +} +</style> +</head> +<body> +a +</body> +</html> + + |