aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/construct.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2015-11-21 04:44:28 +0530
committerbors-servo <lbergstrom+bors@mozilla.com>2015-11-21 04:44:28 +0530
commit8b6bfb615a8a04177c321c4940f79f090b0a7971 (patch)
treee0273a9a94c0508e3d168d4bcda861df1272c7ed /components/layout/construct.rs
parentc19b01c2f4acdccf140e65145c8915acc6fbe59c (diff)
parent90e2f7bfbf7bd83efec7f85828fac66687f5e752 (diff)
downloadservo-8b6bfb615a8a04177c321c4940f79f090b0a7971.tar.gz
servo-8b6bfb615a8a04177c321c4940f79f090b0a7971.zip
Auto merge of #8628 - mrobinson:damage-bits, r=pcwalton
Clean up restyle damage after it no longer applies BUBBLE_ISIZES and REPAINT can become "stuck" on in the default Servo configuration once they are activated. This is solved by removing these damage bits after they no longer apply. There isn't a good way to test this, other than noting that it doesn't break any existing CSS tests. This will become more important in the future as the REPAINT bit is used to implement display list patching. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8628) <!-- Reviewable:end -->
Diffstat (limited to 'components/layout/construct.rs')
-rw-r--r--components/layout/construct.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/components/layout/construct.rs b/components/layout/construct.rs
index 32f540e1d36..c2427b63b69 100644
--- a/components/layout/construct.rs
+++ b/components/layout/construct.rs
@@ -27,7 +27,7 @@ use fragment::{InlineAbsoluteHypotheticalFragmentInfo, TableColumnFragmentInfo};
use fragment::{InlineBlockFragmentInfo, SpecificFragmentInfo, UnscannedTextFragmentInfo};
use fragment::{WhitespaceStrippingResult};
use gfx::display_list::OpaqueNode;
-use incremental::{RECONSTRUCT_FLOW, RestyleDamage};
+use incremental::{BUBBLE_ISIZES, RECONSTRUCT_FLOW, RestyleDamage};
use inline::{FIRST_FRAGMENT_OF_ELEMENT, InlineFlow, InlineFragmentNodeFlags};
use inline::{InlineFragmentNodeInfo, LAST_FRAGMENT_OF_ELEMENT};
use list_item::{ListItemFlow, ListStyleTypeContent};
@@ -1697,7 +1697,8 @@ impl FlowConstructionUtils for FlowRef {
/// properly computed. (This is not, however, a memory safety problem.)
fn finish(&mut self) {
if !opts::get().bubble_inline_sizes_separately {
- flow_ref::deref_mut(self).bubble_inline_sizes()
+ flow_ref::deref_mut(self).bubble_inline_sizes();
+ flow::mut_base(flow_ref::deref_mut(self)).restyle_damage.remove(BUBBLE_ISIZES);
}
}
}