mirror of
https://github.com/servo/servo.git
synced 2025-06-10 09:33:13 +00:00
layout: Modify styles for replaced content as appropriate during
incremental flow construction. Fixes jumpiness on lots of Web sites.
This commit is contained in:
parent
d64f91863a
commit
24f10df436
4 changed files with 39 additions and 2 deletions
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
19
tests/ref/jumpiness_a.html
Normal file
19
tests/ref/jumpiness_a.html
Normal file
|
@ -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>
|
||||
|
15
tests/ref/jumpiness_ref.html
Normal file
15
tests/ref/jumpiness_ref.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
body {
|
||||
text-decoration: underline;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
a
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue