<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>186337</bug_id>
          
          <creation_ts>2018-06-05 21:46:28 -0700</creation_ts>
          <short_desc>[LFC] Add margin computation for floating, replaced elements.</short_desc>
          <delta_ts>2018-06-06 08:53:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1430358</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-06-05 21:46:28 -0700</bug_when>
    <thetext>If &apos;margin-left&apos; or &apos;margin-right&apos; are computed as &apos;auto&apos;, their used value is &apos;0&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430367</commentid>
    <comment_count>1</comment_count>
      <attachid>342033</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-06-05 22:09:47 -0700</bug_when>
    <thetext>Created attachment 342033
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430424</commentid>
    <comment_count>2</comment_count>
      <attachid>342033</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-06-06 07:50:20 -0700</bug_when>
    <thetext>Comment on attachment 342033
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=342033&amp;action=review

&gt; Source/WebCore/layout/FormattingContext.h:98
&gt; +        static WidthAndMargin inlineReplacedWidthAndMargin(LayoutContext&amp;, const Box&amp;, std::optional&lt;LayoutUnit&gt; precomputedMarginLeft = std::nullopt,

I think you can do { } instead of std::nullopt if you want to be more compact.

&gt; Source/WebCore/layout/FormattingContextGeometry.cpp:557
&gt;      LayoutUnit computedMarginRightValue;

Maybe this stuff would look nicer as a lambda?

auto computedMarginRightValue = computeMarginRight();

You would avoid else branches.

&gt; Source/WebCore/layout/FormattingContextGeometry.cpp:572
&gt; +            computedMarginRightValue = marginRight.isAuto() ? LayoutUnit { 0 }: valueForLength(marginRight, containingBlockWidth);

Missing space before :</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430448</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-06-06 08:52:22 -0700</bug_when>
    <thetext>Committed r232541: &lt;https://trac.webkit.org/changeset/232541&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430449</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-06 08:53:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/40853067&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342033</attachid>
            <date>2018-06-05 22:09:47 -0700</date>
            <delta_ts>2018-06-06 07:50:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186337-20180605220946.patch</filename>
            <type>text/plain</type>
            <size>5402</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWEyZjExZGNkNTczNTVi
NDE4OGI3NTJhYzllYjdhZTI4OTVlMjhlYS4uNTNlN2Y0MmQwYWViYzQ0ODFiZmY2YWY2ZDM3YTc2
YjJiZjQzMTJiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTA2LTA1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gQWRkIG1hcmdpbiBj
b21wdXRhdGlvbiBmb3IgZmxvYXRpbmcsIHJlcGxhY2VkIGVsZW1lbnRzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2MzM3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgJ21hcmdpbi1sZWZ0JyBvciAn
bWFyZ2luLXJpZ2h0JyBhcmUgY29tcHV0ZWQgYXMgJ2F1dG8nLCB0aGVpciB1c2VkIHZhbHVlIGlz
ICcwJy4KKworICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAq
IGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpmbG9hdGluZ1JlcGxhY2VkV2lk
dGhBbmRNYXJnaW4pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4
dDo6R2VvbWV0cnk6OmlubGluZVJlcGxhY2VkV2lkdGhBbmRNYXJnaW4pOgorCiAyMDE4LTA2LTA1
ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIE9w
ZW5HTCBkaXNwbGF5IG1hc2sgdG8gc2NyZWVuIGRhdGEgc3RydWN0LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCA5ZDQwMDE2ZThhYzg5ZDliODZhNDNkY2Rj
NjMyZDFjZGE0ODQxNTgwLi4yOTdmZTczM2I5NTgyNWM5NmQwODY1MjdmNjg2M2U5MTE5OGVlOTAw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtOTUsNyAr
OTUsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHN0YXRpYyBMYXlvdXRQb2ludCBvdXRPZkZsb3dQ
b3NpdGlvbihMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94Jik7CiAKICAgICAgICAgc3RhdGljIExh
eW91dFVuaXQgaW5saW5lUmVwbGFjZWRIZWlnaHQoTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYp
OwotICAgICAgICBzdGF0aWMgV2lkdGhBbmRNYXJnaW4gaW5saW5lUmVwbGFjZWRXaWR0aEFuZE1h
cmdpbihMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94Jik7CisgICAgICAgIHN0YXRpYyBXaWR0aEFu
ZE1hcmdpbiBpbmxpbmVSZXBsYWNlZFdpZHRoQW5kTWFyZ2luKExheW91dENvbnRleHQmLCBjb25z
dCBCb3gmLCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHByZWNvbXB1dGVkTWFyZ2luTGVmdCA9
IHN0ZDo6bnVsbG9wdCwKKyAgICAgICAgICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gcHJl
Y29tcHV0ZWRNYXJnaW5SaWdodCA9IHN0ZDo6bnVsbG9wdCk7CiAKICAgICAgICAgc3RhdGljIERp
c3BsYXk6OkJveDo6RWRnZXMgY29tcHV0ZWRCb3JkZXIoTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJv
eCYpOwogICAgICAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxEaXNwbGF5OjpCb3g6OkVkZ2VzPiBj
b21wdXRlZFBhZGRpbmcoTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4IDQ4
MzljZGE5MzhkYmYzOTU5NWNiOGJjZDk1MDlmNmU4NjU4YTQyYmUuLjM1YjZjYzcwYzQ4ZjgyYTI3
NzE2NzgzYjQxODRmMGNjM2I0MGQzY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAgLTI0MCw4ICsyNDAsMTggQEAgRm9y
bWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpXaWR0aEFuZE1hcmdpbiBGb3JtYXR0aW5nQ29udGV4
dDo6R2VvbWV0cnk6OmZsb2F0aW4KICAgICBBU1NFUlQobGF5b3V0Qm94LmlzRmxvYXRpbmdQb3Np
dGlvbmVkKCkgJiYgbGF5b3V0Qm94LnJlcGxhY2VkKCkpOwogICAgIC8vIDEwLjMuNiBGbG9hdGlu
ZywgcmVwbGFjZWQgZWxlbWVudHMKICAgICAvLwotICAgIC8vIFRoZSB1c2VkIHZhbHVlIG9mICd3
aWR0aCcgaXMgZGV0ZXJtaW5lZCBhcyBmb3IgaW5saW5lIHJlcGxhY2VkIGVsZW1lbnRzLgotICAg
IHJldHVybiBpbmxpbmVSZXBsYWNlZFdpZHRoQW5kTWFyZ2luKGxheW91dENvbnRleHQsIGxheW91
dEJveCk7CisgICAgLy8gMS4gSWYgJ21hcmdpbi1sZWZ0JyBvciAnbWFyZ2luLXJpZ2h0JyBhcmUg
Y29tcHV0ZWQgYXMgJ2F1dG8nLCB0aGVpciB1c2VkIHZhbHVlIGlzICcwJy4KKyAgICAvLyAyLiBU
aGUgdXNlZCB2YWx1ZSBvZiAnd2lkdGgnIGlzIGRldGVybWluZWQgYXMgZm9yIGlubGluZSByZXBs
YWNlZCBlbGVtZW50cy4KKyAgICBhdXRvJiBzdHlsZSA9IGxheW91dEJveC5zdHlsZSgpOworICAg
IHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gY29tcHV0ZWRNYXJnaW5MZWZ0VmFsdWU7CisgICAg
c3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBjb21wdXRlZE1hcmdpblJpZ2h0VmFsdWU7CisKKyAg
ICBpZiAoc3R5bGUubWFyZ2luTGVmdCgpLmlzQXV0bygpKQorICAgICAgICBjb21wdXRlZE1hcmdp
bkxlZnRWYWx1ZSA9IExheW91dFVuaXQgeyAwIH07CisgICAgaWYgKHN0eWxlLm1hcmdpblJpZ2h0
KCkuaXNBdXRvKCkpCisgICAgICAgIGNvbXB1dGVkTWFyZ2luUmlnaHRWYWx1ZSA9IExheW91dFVu
aXQgeyAwIH07CisKKyAgICByZXR1cm4gaW5saW5lUmVwbGFjZWRXaWR0aEFuZE1hcmdpbihsYXlv
dXRDb250ZXh0LCBsYXlvdXRCb3gsIGNvbXB1dGVkTWFyZ2luTGVmdFZhbHVlLCBjb21wdXRlZE1h
cmdpblJpZ2h0VmFsdWUpOwogfQogCiBzdGF0aWMgTGF5b3V0UG9pbnQgb3V0T2ZGbG93Tm9uUmVw
bGFjZWRQb3NpdGlvbihMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxh
eW91dEJveCkKQEAgLTUxOSw3ICs1MjksOCBAQCBMYXlvdXRVbml0IEZvcm1hdHRpbmdDb250ZXh0
OjpHZW9tZXRyeTo6aW5saW5lUmVwbGFjZWRIZWlnaHQoTGF5b3V0Q29udGV4dCYsIGNvbgogICAg
IHJldHVybiBjb21wdXRlZEhlaWdodFZhbHVlOwogfQogCi1Gb3JtYXR0aW5nQ29udGV4dDo6R2Vv
bWV0cnk6OldpZHRoQW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5l
UmVwbGFjZWRXaWR0aEFuZE1hcmdpbihMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25z
dCBCb3gmIGxheW91dEJveCkKK0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6V2lkdGhBbmRN
YXJnaW4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbmxpbmVSZXBsYWNlZFdpZHRoQW5k
TWFyZ2luKExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94
LAorICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gcHJlY29tcHV0ZWRNYXJnaW5MZWZ0LCBz
dGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHByZWNvbXB1dGVkTWFyZ2luUmlnaHQpCiB7CiAgICAg
QVNTRVJUKChsYXlvdXRCb3guaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgbGF5b3V0Qm94Lmlz
RmxvYXRpbmdQb3NpdGlvbmVkKCkgfHwgbGF5b3V0Qm94LmlzSW5GbG93KCkpICYmIGxheW91dEJv
eC5yZXBsYWNlZCgpKTsKICAgICAvLyAxMC4zLjIgSW5saW5lLCByZXBsYWNlZCBlbGVtZW50cwpA
QCAtNTQ2LDEyICs1NTcsMjAgQEAgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpXaWR0aEFu
ZE1hcmdpbiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmlubGluZVIKICAgICBMYXlvdXRV
bml0IGNvbXB1dGVkTWFyZ2luUmlnaHRWYWx1ZTsKIAogICAgIHsKLSAgICAgICAgYXV0byBtYXJn
aW5MZWZ0ID0gc3R5bGUubWFyZ2luTGVmdCgpOwotICAgICAgICBhdXRvIG1hcmdpblJpZ2h0ID0g
c3R5bGUubWFyZ2luUmlnaHQoKTsKICAgICAgICAgYXV0byBjb250YWluaW5nQmxvY2tXaWR0aCA9
IGxheW91dENvbnRleHQuZGlzcGxheUJveEZvckxheW91dEJveCgqbGF5b3V0Qm94LmNvbnRhaW5p
bmdCbG9jaygpKS0+d2lkdGgoKTsKKyAgICAgICAgaWYgKHByZWNvbXB1dGVkTWFyZ2luTGVmdCkK
KyAgICAgICAgICAgIGNvbXB1dGVkTWFyZ2luTGVmdFZhbHVlID0gcHJlY29tcHV0ZWRNYXJnaW5M
ZWZ0LnZhbHVlKCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgYXV0byBtYXJnaW5MZWZ0
ID0gc3R5bGUubWFyZ2luTGVmdCgpOworICAgICAgICAgICAgY29tcHV0ZWRNYXJnaW5MZWZ0VmFs
dWUgPSBtYXJnaW5MZWZ0LmlzQXV0bygpID8gTGF5b3V0VW5pdCB7IDAgfSA6IHZhbHVlRm9yTGVu
Z3RoKG1hcmdpbkxlZnQsIGNvbnRhaW5pbmdCbG9ja1dpZHRoKTsKKyAgICAgICAgfQogCi0gICAg
ICAgIGNvbXB1dGVkTWFyZ2luTGVmdFZhbHVlID0gbWFyZ2luTGVmdC5pc0F1dG8oKSA/IExheW91
dFVuaXQoMCkgOiB2YWx1ZUZvckxlbmd0aChtYXJnaW5MZWZ0LCBjb250YWluaW5nQmxvY2tXaWR0
aCk7Ci0gICAgICAgIGNvbXB1dGVkTWFyZ2luUmlnaHRWYWx1ZSA9IG1hcmdpblJpZ2h0LmlzQXV0
bygpID8gTGF5b3V0VW5pdCgwKSA6IHZhbHVlRm9yTGVuZ3RoKG1hcmdpblJpZ2h0LCBjb250YWlu
aW5nQmxvY2tXaWR0aCk7CisgICAgICAgIGlmIChwcmVjb21wdXRlZE1hcmdpblJpZ2h0KQorICAg
ICAgICAgICAgY29tcHV0ZWRNYXJnaW5SaWdodFZhbHVlID0gcHJlY29tcHV0ZWRNYXJnaW5SaWdo
dC52YWx1ZSgpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGF1dG8gbWFyZ2luUmlnaHQg
PSBzdHlsZS5tYXJnaW5SaWdodCgpOworICAgICAgICAgICAgY29tcHV0ZWRNYXJnaW5SaWdodFZh
bHVlID0gbWFyZ2luUmlnaHQuaXNBdXRvKCkgPyBMYXlvdXRVbml0IHsgMCB9OiB2YWx1ZUZvckxl
bmd0aChtYXJnaW5SaWdodCwgY29udGFpbmluZ0Jsb2NrV2lkdGgpOworICAgICAgICB9CiAgICAg
fQogCiAgICAgYXV0byB3aWR0aCA9IHN0eWxlLmxvZ2ljYWxXaWR0aCgpOwo=
</data>
<flag name="review"
          id="360186"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>