mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01: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?
|
// FIXME(pcwalton): Fragment restyle damage too?
|
||||||
flow_ref.repair_style_and_bubble_inline_sizes(&style);
|
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(_) => {
|
SpecificFragmentInfo::UnscannedText(_) => {
|
||||||
properties::modify_style_for_text(&mut style);
|
// We can't repair this unscanned text; we need to update the
|
||||||
properties::modify_style_for_replaced_content(&mut style);
|
// scanned text fragments.
|
||||||
fragment.repair_style(&style);
|
//
|
||||||
|
// TODO: Add code to find and repair the ScannedText fragments?
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
_ => {
|
_ => {
|
||||||
if node.is_replaced_content() {
|
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_float_a.html incremental_float_ref.html
|
||||||
== incremental_inline_layout_a.html incremental_inline_layout_ref.html
|
== incremental_inline_layout_a.html incremental_inline_layout_ref.html
|
||||||
== incremental_letter_spacing_a.html incremental_letter_spacing_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_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_absolute_out_of_flow_a.html inline_absolute_out_of_flow_ref.html
|
||||||
!= inline_background_a.html inline_background_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