diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-08-05 05:03:43 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-08-05 05:03:43 -0600 |
commit | cc70e2f91fcfbc04ca9f02f109ab9894c0eccf9c (patch) | |
tree | 4c8360abe6ec12ba8bebe07928e5e367f3a2367e /components | |
parent | 0d8825c25c6eed4dc22b10e668b03fc79056702b (diff) | |
parent | 2880aa2b023dc6638c20c6cbae160d040b3fb292 (diff) | |
download | servo-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.rs | 16 |
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. |