<?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>198891</bug_id>
          
          <creation_ts>2019-06-15 14:35:13 -0700</creation_ts>
          <short_desc>[LFC][IFC] Intruding float may prevent adding any inline box</short_desc>
          <delta_ts>2019-06-16 13:19:29 -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>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>1545052</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-06-15 14:35:13 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545053</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-06-15 14:35:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/51779956&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545054</commentid>
    <comment_count>2</comment_count>
      <attachid>372199</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-06-15 14:40:37 -0700</bug_when>
    <thetext>Created attachment 372199
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545141</commentid>
    <comment_count>3</comment_count>
      <attachid>372199</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-06-16 12:09:27 -0700</bug_when>
    <thetext>Comment on attachment 372199
Patch

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

&gt; Source/WebCore/layout/LayoutUnits.h:62
&gt; +    static Point max() { return Point(LayoutUnit::max(), LayoutUnit::max()); }

return { .. } would work I suppose.

&gt; Source/WebCore/layout/LayoutUnits.h:64
&gt;      void moveBy(LayoutPoint);

Not from this patch but moving a Point by a Point is not good semantically. It would be if you had to explicitly turn Point to Size first. This is how IntPoint etc work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545142</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-06-16 12:09:56 -0700</bug_when>
    <thetext>*would be better</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545143</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-06-16 12:14:36 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/layout/LayoutUnits.h:64
&gt; &gt;      void moveBy(LayoutPoint);
&gt; 
&gt; Not from this patch but moving a Point by a Point is not good semantically.
&gt; It would be if you had to explicitly turn Point to Size first. This is how
&gt; IntPoint etc work.

Well, this is not really true. IntPoint makes difference between move and moveBy where later takes an offset point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545165</commentid>
    <comment_count>6</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-06-16 13:19:29 -0700</bug_when>
    <thetext>Committed r246483: &lt;https://trac.webkit.org/changeset/246483&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372199</attachid>
            <date>2019-06-15 14:40:37 -0700</date>
            <delta_ts>2019-06-16 12:09:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198891-20190615144037.patch</filename>
            <type>text/plain</type>
            <size>12933</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2EyYjZmYzNjNGUyZjUz
Nzc3ZThjYzZkOWM3NDQ0NGUwNWZkY2IxZS4uNWU0OGFiYzJmMGQ3YjNhMGE5MDYyNTRkNDIyYjll
ZDA5YjAxNGI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTA2LTE1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBJbnRydWRp
bmcgZmxvYXQgbWF5IHByZXZlbnQgYWRkaW5nIGFueSBpbmxpbmUgYm94CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg4OTEKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzUxNzc5OTU2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRha2UgdGhlIGludHJ1ZGluZyBsZWZ0L3JpZ2h0IGZsb2F0IHBhaXIgYW5k
IGZpbmQgdGhlIHZlcnRpY2FsIHBvc2l0aW9uIHdoZXJlIHRoZSBuZXh0IGxpbmUgbWlnaHQgZ28K
KyAgICAgICAgaWYgdGhlc2UgZmxvYXRzIHByZXZlbnQgdXMgZnJvbSBhZGRpbmcgZXZlbiBvbmUg
aW5saW5lIGJveCB0byB0aGUgY3VycmVudCBsaW5lLgorCisgICAgICAgICogbGF5b3V0L0Zvcm1h
dHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0Nv
bnRleHQ6Om1hcFBvaW50VG9BbmNlc3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZv
cm1hdHRpbmdDb250ZXh0OjptYXBQb2ludFRvRGVzY2VuZGVudCk6CisgICAgICAgICogbGF5b3V0
L0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L0xheW91dFVuaXRzLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlBvaW50OjptYXgpOgorICAgICAgICAqIGxheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRMaW5lTGF5b3V0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Okxp
bmVMYXlvdXQ6OnBsYWNlSW5saW5lSXRlbXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6TGluZUxheW91dDo6bGF5b3V0IGNvbnN0KToK
KwogMjAxOS0wNi0xNSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtMRkNdW0Zsb2F0c10gQWRkIGJvdHRvbSB2YWx1ZSB0byBGbG9hdGluZ1N0YXRlOjpDb25zdHJh
aW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXgg
OWQ1Zjg3OGY0ZmYzMzg1ZTZkZWMwZjBiZGY2YWVkMWMyNmE0ZGJhOC4uZmY2NTM3NDNmMGQxNmMw
MWYxNjAyODZkZjc5NzdiZmE1NWZmNGI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9y
bWF0dGluZ0NvbnRleHQuY3BwCkBAIC0yMTEsMTcgKzIxMSwyOCBAQCBMYXlvdXRVbml0IEZvcm1h
dHRpbmdDb250ZXh0OjptYXBUb3BUb0FuY2VzdG9yKGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRT
dGF0ZSwgYwogICAgIHJldHVybiB0b3A7CiB9CiAKLVBvaW50IEZvcm1hdHRpbmdDb250ZXh0Ojpt
YXBQb2ludFRvQW5jZXN0b3IoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBQb2ludCBw
b3NpdGlvbiwgY29uc3QgQ29udGFpbmVyJiBjb250YWluaW5nQmxvY2ssIGNvbnN0IENvbnRhaW5l
ciYgYW5jZXN0b3IpCitQb2ludCBGb3JtYXR0aW5nQ29udGV4dDo6bWFwUG9pbnRUb0FuY2VzdG9y
KGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgUG9pbnQgcG9zaXRpb24sIGNvbnN0IENv
bnRhaW5lciYgZnJvbSwgY29uc3QgQ29udGFpbmVyJiB0bykKIHsKLSAgICBpZiAoJmNvbnRhaW5p
bmdCbG9jayA9PSAmYW5jZXN0b3IpCisgICAgaWYgKCZmcm9tID09ICZ0bykKICAgICAgICAgcmV0
dXJuIHBvc2l0aW9uOwotICAgIEFTU0VSVChjb250YWluaW5nQmxvY2suaXNDb250YWluaW5nQmxv
Y2tEZXNjZW5kYW50T2YoYW5jZXN0b3IpKTsKKyAgICBBU1NFUlQoZnJvbS5pc0NvbnRhaW5pbmdC
bG9ja0Rlc2NlbmRhbnRPZih0bykpOwogICAgIGF1dG8gbWFwcGVkUG9zaXRpb24gPSBwb3NpdGlv
bjsKLSAgICBmb3IgKGF1dG8qIGNvbnRhaW5lciA9ICZjb250YWluaW5nQmxvY2s7IGNvbnRhaW5l
ciAmJiBjb250YWluZXIgIT0gJmFuY2VzdG9yOyBjb250YWluZXIgPSBjb250YWluZXItPmNvbnRh
aW5pbmdCbG9jaygpKQorICAgIGZvciAoYXV0byogY29udGFpbmVyID0gJmZyb207IGNvbnRhaW5l
ciAmJiBjb250YWluZXIgIT0gJnRvOyBjb250YWluZXIgPSBjb250YWluZXItPmNvbnRhaW5pbmdC
bG9jaygpKQogICAgICAgICBtYXBwZWRQb3NpdGlvbi5tb3ZlQnkobGF5b3V0U3RhdGUuZGlzcGxh
eUJveEZvckxheW91dEJveCgqY29udGFpbmVyKS50b3BMZWZ0KCkpOwogICAgIHJldHVybiBtYXBw
ZWRQb3NpdGlvbjsKIH0KIAorUG9pbnQgRm9ybWF0dGluZ0NvbnRleHQ6Om1hcFBvaW50VG9EZXNj
ZW5kZW50KGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgUG9pbnQgcG9pbnQsIGNvbnN0
IENvbnRhaW5lciYgZnJvbSwgY29uc3QgQ29udGFpbmVyJiB0bykKK3sKKyAgICAvLyAicG9pbnQi
IGlzIGluIHRoZSBjb29yZGluYXRlIHN5c3RlbSBvZiB0aGUgImZyb20iIGNvbnRhaW5lci4KKyAg
ICBpZiAoJmZyb20gPT0gJnRvKQorICAgICAgICByZXR1cm4gcG9pbnQ7CisgICAgQVNTRVJUKHRv
LmlzQ29udGFpbmluZ0Jsb2NrRGVzY2VuZGFudE9mKGZyb20pKTsKKyAgICBmb3IgKGF1dG8qIGNv
bnRhaW5lciA9ICZ0bzsgY29udGFpbmVyICYmIGNvbnRhaW5lciAhPSAmZnJvbTsgY29udGFpbmVy
ID0gY29udGFpbmVyLT5jb250YWluaW5nQmxvY2soKSkKKyAgICAgICAgcG9pbnQubW92ZUJ5KC1s
YXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpjb250YWluZXIpLnRvcExlZnQoKSk7
CisgICAgcmV0dXJuIHBvaW50OworfQorCiAjaWZuZGVmIE5ERUJVRwogdm9pZCBGb3JtYXR0aW5n
Q29udGV4dDo6dmFsaWRhdGVHZW9tZXRyeUNvbnN0cmFpbnRzQWZ0ZXJMYXlvdXQoKSBjb25zdAog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCA4NTc4MTE5
OTY5N2RkNDkxZTJkN2U0Y2MxODU1ODc3Y2EzYmU2ODJlLi42OTUzN2ZiYzgyMDI0OTFkNzM1NWU1
NWEwYTVlNjFiYmJhMjc2NTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9y
bWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0Nv
bnRleHQuaApAQCAtNjIsNyArNjIsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIExheW91dFVuaXQg
bWFwVG9wVG9BbmNlc3Rvcihjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYsIGNvbnN0IENv
bnRhaW5lciYgYW5jZXN0b3IpOwogICAgIHN0YXRpYyBMYXlvdXRVbml0IG1hcExlZnRUb0FuY2Vz
dG9yKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94JiwgY29uc3QgQ29udGFpbmVyJiBhbmNl
c3Rvcik7CiAgICAgc3RhdGljIExheW91dFVuaXQgbWFwUmlnaHRUb0FuY2VzdG9yKGNvbnN0IExh
eW91dFN0YXRlJiwgY29uc3QgQm94JiwgY29uc3QgQ29udGFpbmVyJiBhbmNlc3Rvcik7Ci0gICAg
c3RhdGljIFBvaW50IG1hcFBvaW50VG9BbmNlc3Rvcihjb25zdCBMYXlvdXRTdGF0ZSYsIFBvaW50
LCBjb25zdCBDb250YWluZXImIGNvbnRhaW5pbmdCbG9jaywgY29uc3QgQ29udGFpbmVyJiBhbmNl
c3Rvcik7CisgICAgc3RhdGljIFBvaW50IG1hcFBvaW50VG9BbmNlc3Rvcihjb25zdCBMYXlvdXRT
dGF0ZSYsIFBvaW50LCBjb25zdCBDb250YWluZXImIGZyb20sIGNvbnN0IENvbnRhaW5lciYgdG8p
OworICAgIHN0YXRpYyBQb2ludCBtYXBQb2ludFRvRGVzY2VuZGVudChjb25zdCBMYXlvdXRTdGF0
ZSYsIFBvaW50LCBjb25zdCBDb250YWluZXImIGZyb20sIGNvbnN0IENvbnRhaW5lciYgdG8pOwog
CiBwcm90ZWN0ZWQ6CiAgICAgdXNpbmcgTGF5b3V0UXVldWUgPSBWZWN0b3I8Y29uc3QgQm94Kj47
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0VW5pdHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCmluZGV4IDI0MTkzMTQ1ZjlhOTdiYTFjNGYz
YjZkMzMwYTdhMWY3ODMwZGJiMmQuLmFkNTM3MzBkMTcyOTg1MmJkMGRlMDZiYWE4NDViMDczNjA5
YWRiZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCkBAIC01OSw2ICs1OSw4IEBA
IHN0cnVjdCBQb2ludCB7CiAgICAgUG9pbnQoKSA9IGRlZmF1bHQ7CiAgICAgUG9pbnQoTGF5b3V0
VW5pdCwgTGF5b3V0VW5pdCk7CiAgICAgUG9pbnQoTGF5b3V0UG9pbnQpOworICAgIHN0YXRpYyBQ
b2ludCBtYXgoKSB7IHJldHVybiBQb2ludChMYXlvdXRVbml0OjptYXgoKSwgTGF5b3V0VW5pdDo6
bWF4KCkpOyB9CisKICAgICB2b2lkIG1vdmVCeShMYXlvdXRQb2ludCk7CiAgICAgdm9pZCBtb3Zl
QnkoTGF5b3V0U2l6ZSk7CiAgICAgb3BlcmF0b3IgTGF5b3V0UG9pbnQoKSBjb25zdCB7IHJldHVy
biB7IHgsIHkgfTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKaW5kZXggNTYxZTM4
ZWQwZThmZGU4YTczNDg5NTBlZjQwZThiNmQ4ZWQ4YjJkOS4uZmQ2MGQ1YjliNWZlMDRkNDVkZmJj
MDU2NDkzM2QyZTg5ZTE2N2Q5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCkBA
IC03OSw2ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBTa2lwVmVydGljYWxBbGlnbWVu
dCBza2lwVmVydGljYWxBbGlnbWVudDsKICAgICAgICAgICAgIHVuc2lnbmVkIGZpcnN0SW5saW5l
SXRlbUluZGV4IHsgMCB9OwogICAgICAgICAgICAgY29uc3QgSW5saW5lSXRlbXMmIGlubGluZUl0
ZW1zOworICAgICAgICAgICAgT3B0aW9uYWw8TGF5b3V0VW5pdD4gZmxvYXRNaW5pbXVtTG9naWNh
bEJvdHRvbTsKICAgICAgICAgfTsKICAgICAgICAgTGluZUNvbnRlbnQgcGxhY2VJbmxpbmVJdGVt
cyhjb25zdCBMaW5lSW5wdXQmKSBjb25zdDsKICAgICAgICAgdm9pZCBjcmVhdGVEaXNwbGF5UnVu
cyhjb25zdCBMaW5lOjpDb250ZW50JiwgY29uc3QgVmVjdG9yPFdlYWtQdHI8SW5saW5lSXRlbT4+
JiBmbG9hdHMsIExheW91dFVuaXQgd2lkdGhDb25zdHJhaW50KSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0TGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY3BwCmluZGV4IDYyY2UyM2I0
ZDY4NGExNGM2NTEzZGQ3OGU4OThiMTRmYzk5ZTNkY2IuLmEwOGFjNDFhZjEwNTUwMGM4Y2E0YzI1
YzRmOTViMjk5Y2JmYTVmZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHRMaW5lTGF5b3V0LmNwcApAQCAtMTYxLDEwICsxNjEsMTEgQEAgSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OkxpbmVMYXlvdXQ6OkxpbmVDb250ZW50IElubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpMaW5lTGEKICAgICAgICAgdW5jb21taXR0ZWRDb250ZW50LnJlc2V0KCk7CiAgICAgfTsKIAor
ICAgIGF1dG8gbGluZUhhc0Zsb2F0Qm94ID0gbGluZUlucHV0LmZsb2F0TWluaW11bUxvZ2ljYWxC
b3R0b20uaGFzVmFsdWUoKTsKICAgICBhdXRvIGNsb3NlTGluZSA9IFsmXSB7Ci0gICAgICAgIC8v
IFRoaXMgbWlnaHQgY2hhbmdlIGF0IHNvbWUgcG9pbnQuCi0gICAgICAgIEFTU0VSVChjb21taXR0
ZWRJbmxpbmVJdGVtQ291bnQpOwotICAgICAgICByZXR1cm4gTGluZUNvbnRlbnQgeyBsaW5lSW5w
dXQuZmlyc3RJbmxpbmVJdGVtSW5kZXggKyAoY29tbWl0dGVkSW5saW5lSXRlbUNvdW50IC0gMSks
IFdURk1vdmUoZmxvYXRzKSwgbGluZS0+Y2xvc2UoKSB9OworICAgICAgICBBU1NFUlQoY29tbWl0
dGVkSW5saW5lSXRlbUNvdW50IHx8IGxpbmVIYXNGbG9hdEJveCk7CisgICAgICAgIGF1dG8gbGFz
dENvbW1pdHRlZEluZGV4ID0gY29tbWl0dGVkSW5saW5lSXRlbUNvdW50ID8gT3B0aW9uYWw8dW5z
aWduZWQ+IHsgbGluZUlucHV0LmZpcnN0SW5saW5lSXRlbUluZGV4ICsgKGNvbW1pdHRlZElubGlu
ZUl0ZW1Db3VudCAtIDEpIH0gOiBXVEY6Om51bGxvcHQ7CisgICAgICAgIHJldHVybiBMaW5lQ29u
dGVudCB7IGxhc3RDb21taXR0ZWRJbmRleCwgV1RGTW92ZShmbG9hdHMpLCBsaW5lLT5jbG9zZSgp
IH07CiAgICAgfTsKICAgICBMaW5lQnJlYWtlciBsaW5lQnJlYWtlcjsKICAgICAvLyBJdGVyYXRl
IHRocm91Z2ggdGhlIGlubGluZSBjb250ZW50IGFuZCBwbGFjZSB0aGUgaW5saW5lIGJveGVzIG9u
IHRoZSBjdXJyZW50IGxpbmUuCkBAIC0xNzUsNyArMTc2LDggQEAgSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQ6OkxpbmVMYXlvdXQ6OkxpbmVDb250ZW50IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpM
aW5lTGEKICAgICAgICAgYXV0byBpdGVtTG9naWNhbFdpZHRoID0gaW5saW5lSXRlbVdpZHRoKGxh
eW91dFN0YXRlKCksICppbmxpbmVJdGVtLCBjdXJyZW50TG9naWNhbFJpZ2h0KTsKIAogICAgICAg
ICAvLyBGSVhNRTogRW5zdXJlIExpbmVDb250ZXh0Ojp0cmltbWFibGVXaWR0aCBpbmNsdWRlcyB1
bmNvbW1pdHRlZCBjb250ZW50IGlmIG5lZWRlZC4KLSAgICAgICAgYXV0byBicmVha2luZ0NvbnRl
eHQgPSBsaW5lQnJlYWtlci5icmVha2luZ0NvbnRleHQoKmlubGluZUl0ZW0sIGl0ZW1Mb2dpY2Fs
V2lkdGgsIHsgYXZhaWxhYmxlV2lkdGgsIGN1cnJlbnRMb2dpY2FsUmlnaHQsIGxpbmUtPnRyYWls
aW5nVHJpbW1hYmxlV2lkdGgoKSwgIWxpbmUtPmhhc0NvbnRlbnQoKSB9KTsKKyAgICAgICAgYXV0
byBsaW5lSXNDb25zaWRlcmVkRW1wdHkgPSAhbGluZS0+aGFzQ29udGVudCgpICYmICFsaW5lSGFz
RmxvYXRCb3g7CisgICAgICAgIGF1dG8gYnJlYWtpbmdDb250ZXh0ID0gbGluZUJyZWFrZXIuYnJl
YWtpbmdDb250ZXh0KCppbmxpbmVJdGVtLCBpdGVtTG9naWNhbFdpZHRoLCB7IGF2YWlsYWJsZVdp
ZHRoLCBjdXJyZW50TG9naWNhbFJpZ2h0LCBsaW5lLT50cmFpbGluZ1RyaW1tYWJsZVdpZHRoKCks
IGxpbmVJc0NvbnNpZGVyZWRFbXB0eSB9KTsKICAgICAgICAgaWYgKGJyZWFraW5nQ29udGV4dC5p
c0F0QnJlYWtpbmdPcHBvcnR1bml0eSkKICAgICAgICAgICAgIGNvbW1pdFBlbmRpbmdDb250ZW50
KCk7CiAKQEAgLTIwMCw2ICsyMDIsNyBAQCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6TGluZUxh
eW91dDo6TGluZUNvbnRlbnQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OkxpbmVMYQogICAgICAg
ICAgICAgZmxvYXRCb3guaXNMZWZ0RmxvYXRpbmdQb3NpdGlvbmVkKCkgPyBsaW5lLT5tb3ZlTG9n
aWNhbExlZnQoZmxvYXRCb3hXaWR0aCkgOiBsaW5lLT5tb3ZlTG9naWNhbFJpZ2h0KGZsb2F0Qm94
V2lkdGgpOwogICAgICAgICAgICAgZmxvYXRzLmFwcGVuZChtYWtlV2Vha1B0cigqaW5saW5lSXRl
bSkpOwogICAgICAgICAgICAgKytjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQ7CisgICAgICAgICAg
ICBsaW5lSGFzRmxvYXRCb3ggPSB0cnVlOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IH0KIApAQCAtMjIyLDEyICsyMjUsMTIgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
TGluZUxheW91dDo6bGF5b3V0KExheW91dFVuaXQgd2lkdGhDb25zdHJhaW50KSBjb24KICAgICBh
dXRvIGxpbmVMb2dpY2FsVG9wID0gZm9ybWF0dGluZ1Jvb3REaXNwbGF5Qm94LmNvbnRlbnRCb3hU
b3AoKTsKICAgICBhdXRvIGxpbmVMb2dpY2FsTGVmdCA9IGZvcm1hdHRpbmdSb290RGlzcGxheUJv
eC5jb250ZW50Qm94TGVmdCgpOwogCi0gICAgYXV0byBhcHBseUZsb2F0Q29uc3RyYWludCA9IFsm
XShhdXRvJiBsaW5lSG9yaXpvbnRhbENvbnN0cmFpbnQpIHsKKyAgICBhdXRvIGFwcGx5RmxvYXRD
b25zdHJhaW50ID0gWyZdKGF1dG8mIGxpbmVJbnB1dCkgewogICAgICAgICAvLyBDaGVjayBmb3Ig
aW50cnVkaW5nIGZsb2F0cyBhbmQgYWRqdXN0IGxvZ2ljYWwgbGVmdC9hdmFpbGFibGUgd2lkdGgg
Zm9yIHRoaXMgbGluZSBhY2NvcmRpbmdseS4KICAgICAgICAgaWYgKG1fZmxvYXRpbmdTdGF0ZS5p
c0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGF1dG8gYXZhaWxhYmxlV2lk
dGggPSBsaW5lSG9yaXpvbnRhbENvbnN0cmFpbnQuYXZhaWxhYmxlTG9naWNhbFdpZHRoOwotICAg
ICAgICBhdXRvIGxpbmVMb2dpY2FsTGVmdCA9IGxpbmVIb3Jpem9udGFsQ29uc3RyYWludC5sb2dp
Y2FsVG9wTGVmdC54KCk7CisgICAgICAgIGF1dG8gYXZhaWxhYmxlV2lkdGggPSBsaW5lSW5wdXQu
aG9yaXpvbnRhbENvbnN0cmFpbnQuYXZhaWxhYmxlTG9naWNhbFdpZHRoOworICAgICAgICBhdXRv
IGxpbmVMb2dpY2FsTGVmdCA9IGxpbmVJbnB1dC5ob3Jpem9udGFsQ29uc3RyYWludC5sb2dpY2Fs
VG9wTGVmdC54KCk7CiAgICAgICAgIGF1dG8gZmxvYXRDb25zdHJhaW50cyA9IG1fZmxvYXRpbmdT
dGF0ZS5jb25zdHJhaW50cyh7IGxpbmVMb2dpY2FsVG9wIH0sIG1fZm9ybWF0dGluZ1Jvb3QpOwog
ICAgICAgICAvLyBDaGVjayBpZiB0aGVzZSBjb25zdHJhaW50cyBhY3R1YWxseSBwdXQgbGltaXRh
dGlvbiBvbiB0aGUgbGluZS4KICAgICAgICAgaWYgKGZsb2F0Q29uc3RyYWludHMubGVmdCAmJiBm
bG9hdENvbnN0cmFpbnRzLmxlZnQtPnggPD0gZm9ybWF0dGluZ1Jvb3REaXNwbGF5Qm94LmNvbnRl
bnRCb3hMZWZ0KCkpCkBAIC0yMzYsMzMgKzIzOSw0NCBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdD
b250ZXh0OjpMaW5lTGF5b3V0OjpsYXlvdXQoTGF5b3V0VW5pdCB3aWR0aENvbnN0cmFpbnQpIGNv
bgogICAgICAgICBpZiAoZmxvYXRDb25zdHJhaW50cy5yaWdodCAmJiBmbG9hdENvbnN0cmFpbnRz
LnJpZ2h0LT54ID49IGZvcm1hdHRpbmdSb290RGlzcGxheUJveC5jb250ZW50Qm94UmlnaHQoKSkK
ICAgICAgICAgICAgIGZsb2F0Q29uc3RyYWludHMucmlnaHQgPSB7IH07CiAKKyAgICAgICAgLy8g
U2V0IHRoZSBtaW5pbXVtIGZsb2F0IGJvdHRvbSB2YWx1ZSBhcyBhIGhpbnQgZm9yIHRoZSBuZXh0
IGxpbmUgaWYgbmVlZGVkLgorICAgICAgICBzdGF0aWMgYXV0byBpbmlmaXRlUG9pbnQgPSBQb2lu
dEluQ29udGV4dFJvb3Q6Om1heCgpOworICAgICAgICBhdXRvIGZsb2F0TWluaW11bUxvZ2ljYWxC
b3R0b20gPSBzdGQ6Om1pbihmbG9hdENvbnN0cmFpbnRzLmxlZnQudmFsdWVPcihpbmlmaXRlUG9p
bnQpLnksIGZsb2F0Q29uc3RyYWludHMucmlnaHQudmFsdWVPcihpbmlmaXRlUG9pbnQpLnkpOwor
ICAgICAgICBpZiAoZmxvYXRNaW5pbXVtTG9naWNhbEJvdHRvbSAhPSBpbmlmaXRlUG9pbnQueSkK
KyAgICAgICAgICAgIGxpbmVJbnB1dC5mbG9hdE1pbmltdW1Mb2dpY2FsQm90dG9tID0gRm9ybWF0
dGluZ0NvbnRleHQ6Om1hcFBvaW50VG9EZXNjZW5kZW50KGxheW91dFN0YXRlKCksIHsgMCwgZmxv
YXRNaW5pbXVtTG9naWNhbEJvdHRvbSB9LCBkb3duY2FzdDxDb250YWluZXI+KG1fZmxvYXRpbmdT
dGF0ZS5yb290KCkpLCBtX2Zvcm1hdHRpbmdSb290KS55OworCiAgICAgICAgIGlmIChmbG9hdENv
bnN0cmFpbnRzLmxlZnQgJiYgZmxvYXRDb25zdHJhaW50cy5yaWdodCkgewotICAgICAgICAgICAg
QVNTRVJUKGZsb2F0Q29uc3RyYWludHMubGVmdC0+eCA8IGZsb2F0Q29uc3RyYWludHMucmlnaHQt
PngpOworICAgICAgICAgICAgQVNTRVJUKGZsb2F0Q29uc3RyYWludHMubGVmdC0+eCA8PSBmbG9h
dENvbnN0cmFpbnRzLnJpZ2h0LT54KTsKICAgICAgICAgICAgIGF2YWlsYWJsZVdpZHRoID0gZmxv
YXRDb25zdHJhaW50cy5yaWdodC0+eCAtIGZsb2F0Q29uc3RyYWludHMubGVmdC0+eDsKICAgICAg
ICAgICAgIGxpbmVMb2dpY2FsTGVmdCA9IGZsb2F0Q29uc3RyYWludHMubGVmdC0+eDsKICAgICAg
ICAgfSBlbHNlIGlmIChmbG9hdENvbnN0cmFpbnRzLmxlZnQpIHsKLSAgICAgICAgICAgIEFTU0VS
VChmbG9hdENvbnN0cmFpbnRzLmxlZnQtPnggPiBsaW5lTG9naWNhbExlZnQpOworICAgICAgICAg
ICAgQVNTRVJUKGZsb2F0Q29uc3RyYWludHMubGVmdC0+eCA+PSBsaW5lTG9naWNhbExlZnQpOwog
ICAgICAgICAgICAgYXZhaWxhYmxlV2lkdGggLT0gKGZsb2F0Q29uc3RyYWludHMubGVmdC0+eCAt
IGxpbmVMb2dpY2FsTGVmdCk7CiAgICAgICAgICAgICBsaW5lTG9naWNhbExlZnQgPSBmbG9hdENv
bnN0cmFpbnRzLmxlZnQtPng7CiAgICAgICAgIH0gZWxzZSBpZiAoZmxvYXRDb25zdHJhaW50cy5y
aWdodCkgewotICAgICAgICAgICAgQVNTRVJUKGZsb2F0Q29uc3RyYWludHMucmlnaHQtPnggPiBs
aW5lTG9naWNhbExlZnQpOworICAgICAgICAgICAgQVNTRVJUKGZsb2F0Q29uc3RyYWludHMucmln
aHQtPnggPj0gbGluZUxvZ2ljYWxMZWZ0KTsKICAgICAgICAgICAgIGF2YWlsYWJsZVdpZHRoID0g
ZmxvYXRDb25zdHJhaW50cy5yaWdodC0+eCAtIGxpbmVMb2dpY2FsTGVmdDsKICAgICAgICAgfQot
ICAgICAgICBsaW5lSG9yaXpvbnRhbENvbnN0cmFpbnQuYXZhaWxhYmxlTG9naWNhbFdpZHRoID0g
YXZhaWxhYmxlV2lkdGg7Ci0gICAgICAgIGxpbmVIb3Jpem9udGFsQ29uc3RyYWludC5sb2dpY2Fs
VG9wTGVmdC5zZXRYKGxpbmVMb2dpY2FsTGVmdCk7CisgICAgICAgIGxpbmVJbnB1dC5ob3Jpem9u
dGFsQ29uc3RyYWludC5hdmFpbGFibGVMb2dpY2FsV2lkdGggPSBhdmFpbGFibGVXaWR0aDsKKyAg
ICAgICAgbGluZUlucHV0Lmhvcml6b250YWxDb25zdHJhaW50LmxvZ2ljYWxUb3BMZWZ0LnNldFgo
bGluZUxvZ2ljYWxMZWZ0KTsKICAgICB9OwogCiAgICAgYXV0byYgaW5saW5lSXRlbXMgPSBtX2Zv
cm1hdHRpbmdTdGF0ZS5pbmxpbmVJdGVtcygpOwogICAgIHVuc2lnbmVkIGN1cnJlbnRJbmxpbmVJ
dGVtSW5kZXggPSAwOwogICAgIHdoaWxlIChjdXJyZW50SW5saW5lSXRlbUluZGV4IDwgaW5saW5l
SXRlbXMuc2l6ZSgpKSB7CiAgICAgICAgIGF1dG8gbGluZUlucHV0ID0gTGluZUlucHV0IHsgeyBs
aW5lTG9naWNhbExlZnQsIGxpbmVMb2dpY2FsVG9wIH0sIHdpZHRoQ29uc3RyYWludCwgTGluZUlu
cHV0OjpTa2lwVmVydGljYWxBbGlnbWVudDo6Tm8sIGN1cnJlbnRJbmxpbmVJdGVtSW5kZXgsIGlu
bGluZUl0ZW1zIH07Ci0gICAgICAgIGFwcGx5RmxvYXRDb25zdHJhaW50KGxpbmVJbnB1dC5ob3Jp
em9udGFsQ29uc3RyYWludCk7CisgICAgICAgIGFwcGx5RmxvYXRDb25zdHJhaW50KGxpbmVJbnB1
dCk7CiAgICAgICAgIGF1dG8gbGluZUNvbnRlbnQgPSBwbGFjZUlubGluZUl0ZW1zKGxpbmVJbnB1
dCk7CiAgICAgICAgIGNyZWF0ZURpc3BsYXlSdW5zKCpsaW5lQ29udGVudC5ydW5zLCBsaW5lQ29u
dGVudC5mbG9hdHMsIHdpZHRoQ29uc3RyYWludCk7Ci0gICAgICAgIC8vIFdlIHNob3VsZCBhbHdh
eXMgcHV0IGF0IGxlYXN0IG9uZSBydW4gb24gdGhlIGxpbmUgYXRtLiBUaGlzIG1pZ2h0IGNoYW5n
ZSBsYXRlciBvbiB0aG91Z2guCi0gICAgICAgIEFTU0VSVChsaW5lQ29udGVudC5sYXN0SW5saW5l
SXRlbUluZGV4KTsKLSAgICAgICAgY3VycmVudElubGluZUl0ZW1JbmRleCA9ICpsaW5lQ29udGVu
dC5sYXN0SW5saW5lSXRlbUluZGV4ICsgMTsKLSAgICAgICAgbGluZUxvZ2ljYWxUb3AgPSBsaW5l
Q29udGVudC5ydW5zLT5sb2dpY2FsQm90dG9tKCk7CisgICAgICAgIGlmICghbGluZUNvbnRlbnQu
bGFzdElubGluZUl0ZW1JbmRleCkgeworICAgICAgICAgICAgLy8gRmxvYXRzIHByZXZlbnRlZCB1
cyBwdXR0aW5nIGFueSBjb250ZW50IG9uIHRoZSBsaW5lLgorICAgICAgICAgICAgQVNTRVJUKGxp
bmVJbnB1dC5mbG9hdE1pbmltdW1Mb2dpY2FsQm90dG9tKTsKKyAgICAgICAgICAgIEFTU0VSVChs
aW5lQ29udGVudC5ydW5zLT5pc0VtcHR5KCkpOworICAgICAgICAgICAgbGluZUxvZ2ljYWxUb3Ag
PSAqbGluZUlucHV0LmZsb2F0TWluaW11bUxvZ2ljYWxCb3R0b207CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICBjdXJyZW50SW5saW5lSXRlbUluZGV4ID0gKmxpbmVDb250ZW50Lmxhc3RJ
bmxpbmVJdGVtSW5kZXggKyAxOworICAgICAgICAgICAgbGluZUxvZ2ljYWxUb3AgPSBsaW5lQ29u
dGVudC5ydW5zLT5sb2dpY2FsQm90dG9tKCk7CisgICAgICAgIH0KICAgICB9CiB9CiAK
</data>
<flag name="review"
          id="387974"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>