mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Incremental layout: Don't try to repair text fragment styles
Fixes #7814.
This commit is contained in:
parent
e2048d57c4
commit
6426f714bd
4 changed files with 48 additions and 4 deletions
|
@ -1375,11 +1375,17 @@ impl<'a> FlowConstructor<'a> {
|
|||
// FIXME(pcwalton): Fragment restyle damage too?
|
||||
flow_ref.repair_style_and_bubble_inline_sizes(&style);
|
||||
}
|
||||
SpecificFragmentInfo::ScannedText(_) |
|
||||
SpecificFragmentInfo::ScannedText(_) => {
|
||||
// Text fragments in ConstructionResult haven't been scanned yet
|
||||
unreachable!()
|
||||
}
|
||||
SpecificFragmentInfo::GeneratedContent(_) |
|
||||
SpecificFragmentInfo::UnscannedText(_) => {
|
||||
properties::modify_style_for_text(&mut style);
|
||||
properties::modify_style_for_replaced_content(&mut style);
|
||||
fragment.repair_style(&style);
|
||||
// We can't repair this unscanned text; we need to update the
|
||||
// scanned text fragments.
|
||||
//
|
||||
// TODO: Add code to find and repair the ScannedText fragments?
|
||||
return false
|
||||
}
|
||||
_ => {
|
||||
if node.is_replaced_content() {
|
||||
|
|
|
@ -165,6 +165,7 @@ prefs:"layout.writing-mode.enabled" == iframe/size_attributes_vertical_writing_m
|
|||
== incremental_float_a.html incremental_float_ref.html
|
||||
== incremental_inline_layout_a.html incremental_inline_layout_ref.html
|
||||
== incremental_letter_spacing_a.html incremental_letter_spacing_ref.html
|
||||
== incremental_text_color_a.html incremental_text_color_ref.html
|
||||
== inline_absolute_hypothetical_clip_a.html inline_absolute_hypothetical_clip_ref.html
|
||||
== inline_absolute_out_of_flow_a.html inline_absolute_out_of_flow_ref.html
|
||||
!= inline_background_a.html inline_background_ref.html
|
||||
|
|
22
tests/ref/incremental_text_color_a.html
Normal file
22
tests/ref/incremental_text_color_a.html
Normal file
|
@ -0,0 +1,22 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Incremental layout text color test</title>
|
||||
<style>
|
||||
span {
|
||||
color: orange;
|
||||
}
|
||||
span.selected {
|
||||
color: green;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<span>A</span>
|
||||
<script>
|
||||
document.body.offsetWidth; // force layout
|
||||
document.querySelector('span').classList.add('selected');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
15
tests/ref/incremental_text_color_ref.html
Normal file
15
tests/ref/incremental_text_color_ref.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Incremental layout text color reference</title>
|
||||
<style>
|
||||
span {
|
||||
color: green;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<span>A</span>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue