aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/inline.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2016-03-02 11:50:21 -0800
committerPatrick Walton <pcwalton@mimiga.net>2016-03-03 13:09:50 -0800
commit940bff1f9c5e402fe6a8049afb0cd29ff26bda48 (patch)
treeeac43ddfa4a163288cf543df5de898d59a6ae219 /components/layout/inline.rs
parent983576ebaaed03d5d5b52d52778fd47cff57da8a (diff)
downloadservo-940bff1f9c5e402fe6a8049afb0cd29ff26bda48.tar.gz
servo-940bff1f9c5e402fe6a8049afb0cd29ff26bda48.zip
gfx: Stop cloning clipping regions so much.
Clipping regions can contain vectors and so can be expensive to copy.
Diffstat (limited to 'components/layout/inline.rs')
-rw-r--r--components/layout/inline.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/components/layout/inline.rs b/components/layout/inline.rs
index 291efea790d..1212f8a3cfc 100644
--- a/components/layout/inline.rs
+++ b/components/layout/inline.rs
@@ -1680,9 +1680,10 @@ impl Flow for InlineFlow {
CoordinateSystem::Parent);
let stacking_relative_content_box =
fragment.stacking_relative_content_box(&stacking_relative_border_box);
- let clip = fragment.clipping_region_for_children(&self.base.clip,
- &stacking_relative_border_box,
- false);
+ let mut clip = self.base.clip.clone();
+ fragment.adjust_clipping_region_for_children(&mut clip,
+ &stacking_relative_border_box,
+ false);
let is_positioned = fragment.is_positioned();
match fragment.specific {
SpecificFragmentInfo::InlineBlock(ref mut info) => {