aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-08-05 05:03:43 -0600
committerbors-servo <metajack+bors@gmail.com>2015-08-05 05:03:43 -0600
commitcc70e2f91fcfbc04ca9f02f109ab9894c0eccf9c (patch)
tree4c8360abe6ec12ba8bebe07928e5e367f3a2367e /components
parent0d8825c25c6eed4dc22b10e668b03fc79056702b (diff)
parent2880aa2b023dc6638c20c6cbae160d040b3fb292 (diff)
downloadservo-cc70e2f91fcfbc04ca9f02f109ab9894c0eccf9c.tar.gz
servo-cc70e2f91fcfbc04ca9f02f109ab9894c0eccf9c.zip
Auto merge of #6980 - pcwalton:inline-border-baseline, r=glennw
layout: Take borders into account when positioning inline fragments on their baselines. Improves the Rust GitHub page. r? @glennw <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6980) <!-- Reviewable:end -->
Diffstat (limited to 'components')
-rw-r--r--components/layout/fragment.rs16
1 files changed, 12 insertions, 4 deletions
diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs
index 1f7ecce5fe9..c7b29d6212a 100644
--- a/components/layout/fragment.rs
+++ b/components/layout/fragment.rs
@@ -1818,15 +1818,23 @@ impl Fragment {
.computed_block_size();
InlineMetrics {
block_size_above_baseline: computed_block_size +
- self.border_padding.block_start_end(),
- depth_below_baseline: Au(0),
- ascent: computed_block_size + self.border_padding.block_start_end(),
+ self.border_padding.block_start,
+ depth_below_baseline: self.border_padding.block_end,
+ ascent: computed_block_size + self.border_padding.block_start,
}
}
SpecificFragmentInfo::ScannedText(ref text_fragment) => {
// See CSS 2.1 § 10.8.1.
let line_height = self.calculate_line_height(layout_context);
- InlineMetrics::from_font_metrics(&text_fragment.run.font_metrics, line_height)
+ let font_derived_metrics =
+ InlineMetrics::from_font_metrics(&text_fragment.run.font_metrics, line_height);
+ InlineMetrics {
+ block_size_above_baseline: font_derived_metrics.block_size_above_baseline +
+ self.border_padding.block_start,
+ depth_below_baseline: font_derived_metrics.depth_below_baseline +
+ self.border_padding.block_end,
+ ascent: font_derived_metrics.ascent + self.border_padding.block_start,
+ }
}
SpecificFragmentInfo::InlineBlock(ref info) => {
// See CSS 2.1 § 10.8.1.