Skip to content

Commit

Permalink
Use the margin box of an inline block when computing the inline size
Browse files Browse the repository at this point in the history
When computing the inline size of an inline block in inline formating
context, use the margin box of the underling block.
  • Loading branch information
stshine committed Apr 10, 2017
1 parent 3272861 commit dd26148
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 4 deletions.
5 changes: 1 addition & 4 deletions components/layout/fragment.rs
Expand Up @@ -2380,10 +2380,7 @@ impl Fragment {
pub fn update_late_computed_replaced_inline_size_if_necessary(&mut self) {
if let SpecificFragmentInfo::InlineBlock(ref mut inline_block_info) = self.specific {
let block_flow = FlowRef::deref_mut(&mut inline_block_info.flow_ref).as_block();
let margin = block_flow.fragment.style.logical_margin();
self.border_box.size.inline = block_flow.fragment.border_box.size.inline +
MaybeAuto::from_style(margin.inline_start, Au(0)).specified_or_zero() +
MaybeAuto::from_style(margin.inline_end, Au(0)).specified_or_zero()
self.border_box.size.inline = block_flow.fragment.margin_box_inline_size();
}
}

Expand Down
25 changes: 25 additions & 0 deletions tests/wpt/mozilla/meta/MANIFEST.json
Expand Up @@ -2759,6 +2759,18 @@
{}
]
],
"css/inline_block_percentage_margin.html": [
[
"/_mozilla/css/inline_block_percentage_margin.html",
[
[
"/_mozilla/css/inline_block_percentage_margin_ref.html",
"=="
]
],
{}
]
],
"css/inline_block_stacking_context_a.html": [
[
"/_mozilla/css/inline_block_stacking_context_a.html",
Expand Down Expand Up @@ -7875,6 +7887,11 @@
{}
]
],
"css/inline_block_percentage_margin_ref.html": [
[
{}
]
],
"css/inline_block_stacking_context_ref.html": [
[
{}
Expand Down Expand Up @@ -21797,6 +21814,14 @@
"bad4704435c74a3204925206802eb004f380500e",
"support"
],
"css/inline_block_percentage_margin.html": [
"0b750acad3bcc6b5fabf9e625b6adf22e1e97640",
"reftest"
],
"css/inline_block_percentage_margin_ref.html": [
"3726b3b2149b9e6584277fd33b77940d5f9d6800",
"support"
],
"css/inline_block_stacking_context_a.html": [
"6c872ab3c551e4fe6c293468aa310ae61487b583",
"reftest"
Expand Down
16 changes: 16 additions & 0 deletions tests/wpt/mozilla/tests/css/inline_block_percentage_margin.html
@@ -0,0 +1,16 @@
<!doctype html>
<meta charset="utf-8">
<link rel="match" href="inline_block_percentage_margin_ref.html">
<style>
body {
width: 500px;
}
span {
display: inline-block;
width: 100px;
height: 30px;
background: orange;
margin: 0 10%;
}
</style>
<span></span>
@@ -0,0 +1,15 @@
<!doctype html>
<meta charset="utf-8">
<style>
body {
width: 500px;
}
span {
display: inline-block;
width: 100px;
height: 30px;
background: orange;
margin: 0 50px;
}
</style>
<span></span>

0 comments on commit dd26148

Please sign in to comment.