servo: Merge #5064 - Fix setting display:none after a layout where the element was visible (from glennw:hide-after-layout); r=pcwalton

Prior to incremental layout, the code would remove the existing
construction result. However, with incremental layout the construction result
is cloned rather than removed. This change ensures that the previous
construction result is cleared when an element's display type
changes to none.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8ad3c5aeb65e473a4c099b12e9439dfc556024f8
This commit is contained in:
Glenn Watson 2015-02-26 14:46:10 -07:00
Родитель 10158ea9a8
Коммит 1f9816fcf2
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -1170,8 +1170,9 @@ impl<'a> PostorderNodeMutTraversal for FlowConstructor<'a> {
// results of children.
(display::T::none, _, _) => {
for child in node.children() {
drop(child.swap_out_construction_result())
child.set_flow_construction_result(ConstructionResult::None);
}
node.set_flow_construction_result(ConstructionResult::None);
}
// Table items contribute table flow construction results.