aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/table.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2014-12-18 18:59:42 -0800
committerPatrick Walton <pcwalton@mimiga.net>2015-01-04 17:41:59 -0800
commit5ea2c6dcfdfc24ce3730f736fcd045a13bcdc5b6 (patch)
treebd04f1fa5d53a938e91817c8d099456f93b01950 /components/layout/table.rs
parentba8cf6b0e6145265f9472d4855f078d8b5943fe7 (diff)
downloadservo-5ea2c6dcfdfc24ce3730f736fcd045a13bcdc5b6.tar.gz
servo-5ea2c6dcfdfc24ce3730f736fcd045a13bcdc5b6.zip
layout: Paint stacking contexts' overflow areas properly.
This was making `box-shadow` not show up in many cases, in particular, but the effects were not limited to that.
Diffstat (limited to 'components/layout/table.rs')
-rw-r--r--components/layout/table.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/components/layout/table.rs b/components/layout/table.rs
index 8f46ef868ff..81c9f40d43d 100644
--- a/components/layout/table.rs
+++ b/components/layout/table.rs
@@ -13,13 +13,14 @@ use context::LayoutContext;
use floats::FloatKind;
use flow::{mod, Flow, FlowClass, IMPACTED_BY_LEFT_FLOATS, IMPACTED_BY_RIGHT_FLOATS};
use flow::ImmutableFlowUtils;
-use fragment::{Fragment, FragmentBoundsIterator};
+use fragment::{Fragment, FragmentOverflowIterator};
use layout_debug;
use model::{IntrinsicISizes, IntrinsicISizesContribution};
use table_row::CellIntrinsicInlineSize;
use table_wrapper::TableLayout;
use wrapper::ThreadSafeLayoutNode;
+use geom::Rect;
use servo_util::geometry::Au;
use servo_util::logical_geometry::LogicalRect;
use std::cmp::max;
@@ -384,8 +385,12 @@ impl Flow for TableFlow {
self.block_flow.repair_style(new_style)
}
- fn iterate_through_fragment_bounds(&self, iterator: &mut FragmentBoundsIterator) {
- self.block_flow.iterate_through_fragment_bounds(iterator);
+ fn compute_overflow(&self) -> Rect<Au> {
+ self.block_flow.compute_overflow()
+ }
+
+ fn iterate_through_fragment_overflow(&self, iterator: &mut FragmentOverflowIterator) {
+ self.block_flow.iterate_through_fragment_overflow(iterator);
}
}