servo/components/layout
Matt Brubeck 5104d8244f Don't re-resolve already-resolved generated content
This fixes #7846, a failure in the "quotes-036.htm" test. Servo lays out this
test correctly in its initial layout, but then messes it up in any relayout
(whether it's an incremental or full layout).

The problem is that the ResolveGeneratedContent traversal is not safe to run
more than once on the same flow. It mutates some GeneratedContent fragments
into ScannedText fragments, but leaves others unmodified (in particular,
those that generate empty content). The next time layout runs, these remaining
GeneratedContent fragments are processed *again* but with an incorrect correct
quote nesting level (because some of the surrounding GeneratedContent
fragments are gone).

This patch ensures that each GeneratedContent fragment is resolved only once.
2016-03-11 09:11:37 -08:00
..
animation.rs Move AnimationState to script_traits 2016-01-13 18:14:12 -05:00
block.rs layout: Remove the validate_display_list_geometry debugging tool. 2016-03-03 13:09:55 -08:00
Cargo.toml Bump url to 0.5.7 2016-03-09 20:15:16 +01:00
construct.rs Remove unused fixed_descendants: AbsoluteDescendants 2016-01-28 09:43:14 +01:00
context.rs Don't use image metadata for layout when rendering to a file 2016-02-25 13:47:27 -08:00
data.rs Refactor style to be completely backend-independent 2016-02-13 16:05:14 +01:00
display_list_builder.rs Simplify the display list slightly 2016-03-10 14:33:22 -08:00
flex.rs layout: Remove the validate_display_list_geometry debugging tool. 2016-03-03 13:09:55 -08:00
floats.rs Move util::persistent_list to layout 2016-02-20 19:20:38 +01:00
flow.rs layout: Switch display list building from bottom-up to top-down. 2016-03-03 13:09:56 -08:00
flow_list.rs Add Multicolumn support block fragmentation. 2016-01-28 09:43:14 +01:00
flow_ref.rs Remove explicit lifetimes which can be elided. 2015-10-21 01:27:48 +02:00
fragment.rs Don't re-resolve already-resolved generated content 2016-03-11 09:11:37 -08:00
generated_content.rs Don't re-resolve already-resolved generated content 2016-03-11 09:11:37 -08:00
incremental.rs style: Refactor the per_pseudo map from StyleData to avoid having an option value type. 2016-02-13 16:05:17 +01:00
inline.rs Don't re-resolve already-resolved generated content 2016-03-11 09:11:37 -08:00
layout_debug.rs Update to rustc 1.7.0-nightly (b4707ebca 2015-12-27) 2016-01-14 14:56:18 -06:00
layout_thread.rs Auto merge of #9861 - pcwalton:superflat, r=glennw 2016-03-04 06:45:45 +05:30
lib.rs Don't re-resolve already-resolved generated content 2016-03-11 09:11:37 -08:00
list_item.rs layout: Remove the validate_display_list_geometry debugging tool. 2016-03-03 13:09:55 -08:00
model.rs Move util::logical_geometry to style 2016-02-18 10:17:13 +01:00
multicol.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
opaque_node.rs Replace OpaqueNodeMethods::from_{threadsafe_,}layout_node by opaque methods. 2015-06-24 14:55:43 +02:00
parallel.rs Remove parallel display list construction 2016-02-19 15:53:12 -08:00
persistent_list.rs Move util::persistent_list to layout 2016-02-20 19:20:38 +01:00
query.rs Suppress reflows before RefreshTick or FirstLoad 2016-03-03 15:17:46 -07:00
sequential.rs layout: Switch display list building from bottom-up to top-down. 2016-03-03 13:09:56 -08:00
table.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
table_caption.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
table_cell.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
table_colgroup.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
table_row.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
table_rowgroup.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
table_wrapper.rs gfx: Box stacking contexts to minimize memmove traffic. 2016-03-03 13:09:48 -08:00
text.rs Move util::range into its own crate 2016-02-25 21:06:10 -05:00
traversal.rs layout: Switch display list building from bottom-up to top-down. 2016-03-03 13:09:56 -08:00
webrender_helpers.rs Simplify the display list slightly 2016-03-10 14:33:22 -08:00
wrapper.rs Dirty elements whose selectors are affected by sibling changes 2016-02-23 17:31:38 -08:00