<?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>209695</bug_id>
          
          <creation_ts>2020-03-27 20:49:27 -0700</creation_ts>
          <short_desc>[RenderTreeBuilder] Destroy the child first in RenderTreeBuilder::destroyAndCleanUpAnonymousWrappers</short_desc>
          <delta_ts>2020-03-31 05:50:18 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=207034</see_also>
          <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>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</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>1635110</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-27 20:49:27 -0700</bug_when>
    <thetext>Before destroying a renderer we check if this renderer is inside an anonymous wrapper (including ancestors) and if so, we get rid of these wrappers too the same time. However because of the &apos;leaf -&gt; container&apos; tear down direction, we need to destroy the child first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635113</commentid>
    <comment_count>1</comment_count>
      <attachid>394786</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-27 20:55:07 -0700</bug_when>
    <thetext>Created attachment 394786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635138</commentid>
    <comment_count>2</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-03-28 00:14:57 -0700</bug_when>
    <thetext>If this is the order we want we should probably change RenderTreeBuilder::destroy instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635170</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-28 06:25:16 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #2)
&gt; If this is the order we want we should probably change
&gt; RenderTreeBuilder::destroy instead.
Yeah, that&apos;s a good point. I would guess the ::destroy() is only called with the bottom-most renderer from the updater, and only the builder calls it with depth (in case of anon wrappers).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635177</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-28 08:07:19 -0700</bug_when>
    <thetext>(In reply to zalan from comment #3)
&gt; (In reply to Antti Koivisto from comment #2)
&gt; &gt; If this is the order we want we should probably change
&gt; &gt; RenderTreeBuilder::destroy instead.
&gt; Yeah, that&apos;s a good point. I would guess the ::destroy() is only called with
&gt; the bottom-most renderer from the updater, and only the builder calls it
&gt; with depth (in case of anon wrappers).
Actually we tried that here https://trac.webkit.org/changeset/228606/webkit and had to revert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635202</commentid>
    <comment_count>5</comment_count>
      <attachid>394825</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-28 09:50:40 -0700</bug_when>
    <thetext>Created attachment 394825
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635207</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-28 10:21:48 -0700</bug_when>
    <thetext>Committed r259160: &lt;https://trac.webkit.org/changeset/259160&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 394825.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635208</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-28 10:22:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/61010688&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394786</attachid>
            <date>2020-03-27 20:55:07 -0700</date>
            <delta_ts>2020-03-28 09:50:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209695-20200327205506.patch</filename>
            <type>text/plain</type>
            <size>5099</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4OTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWI3NzgyNmEzMzliODdl
MGE4OWFkZjk3MWM4NmE2Yjg2NGFhNzE2Ni4uMjNjOGRkYTBmM2VmYzI2YzY4OTJlNjg1ZDI1YzA1
OWViZDlkNDAyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAzLTI3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBEZXN0cm95IHRoZSBjaGlsZCBmaXJzdCBpbiBSZW5kZXJUcmVlQnVpbGRlcjo6ZGVzdHJveUFu
ZENsZWFuVXBBbm9ueW1vdXNXcmFwcGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA5Njk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRVdTIHRlc3RpbmcuCisKKyAgICAgICAgKiByZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJl
ZUJ1aWxkZXI6OmRlc3Ryb3lBbmRDbGVhblVwQW5vbnltb3VzV3JhcHBlcnMpOgorICAgICAgICAo
V2ViQ29yZTo6aXNBbm9ueW1vdXNBbmRTYWZlVG9EZWxldGUpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6ZmluZERlc3Ryb3lSb290SW5jbHVkaW5nQW5vbnltb3VzKTogRGVsZXRlZC4KKwog
MjAyMC0wMy0yNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAg
IFtXZWIgQW5pbWF0aW9uc10gQ2xlYW4gdGltZWxpbmUgaGVhZGVycyB1cApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAK
aW5kZXggNjA1MWUzNGU4MWQ4ZGMyNzZiZjExYTUyNGJjMmIxY2IxNDYwODZjMy4uZDk3Y2Y5OTE1
M2NiODQ3YTlkNWY5ODZkZTVhZTU1M2I4NWU3YTE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCkBAIC03NjIs
NDcgKzc2Miw0NiBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpjaGlsZEZsb3dTdGF0ZUNoYW5n
ZXNBbmROb0xvbmdlckFmZmVjdHNQYXJlbnRCbG9jayhSZW5kZQogICAgIHJlbW92ZUFub255bW91
c1dyYXBwZXJzRm9ySW5saW5lQ2hpbGRyZW5JZk5lZWRlZCgqY2hpbGQucGFyZW50KCkpOwogfQog
Ci1zdGF0aWMgYm9vbCBpc0Fub255bW91c0FuZFNhZmVUb0RlbGV0ZShSZW5kZXJFbGVtZW50JiBl
bGVtZW50KQotewotICAgIGlmICghZWxlbWVudC5pc0Fub255bW91cygpKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgaWYgKGVsZW1lbnQuaXNSZW5kZXJWaWV3KCkgfHwgZWxlbWVudC5pc1Jl
bmRlckZyYWdtZW50ZWRGbG93KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQotc3RhdGljIFJlbmRlck9iamVjdCYgZmluZERlc3Ryb3lSb290SW5jbHVkaW5n
QW5vbnltb3VzKFJlbmRlck9iamVjdCYgcmVuZGVyZXIpCi17Ci0gICAgYXV0byogZGVzdHJveVJv
b3QgPSAmcmVuZGVyZXI7Ci0gICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgYXV0byYgZGVzdHJv
eVJvb3RQYXJlbnQgPSAqZGVzdHJveVJvb3QtPnBhcmVudCgpOwotICAgICAgICBpZiAoIWlzQW5v
bnltb3VzQW5kU2FmZVRvRGVsZXRlKGRlc3Ryb3lSb290UGFyZW50KSkKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBib29sIGRlc3Ryb3lpbmdPbmx5Q2hpbGQgPSBkZXN0cm95Um9vdFBhcmVu
dC5maXJzdENoaWxkKCkgPT0gZGVzdHJveVJvb3QgJiYgZGVzdHJveVJvb3RQYXJlbnQubGFzdENo
aWxkKCkgPT0gZGVzdHJveVJvb3Q7Ci0gICAgICAgIGlmICghZGVzdHJveWluZ09ubHlDaGlsZCkK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZXN0cm95Um9vdCA9ICZkZXN0cm95Um9vdFBh
cmVudDsKLSAgICB9Ci0gICAgcmV0dXJuICpkZXN0cm95Um9vdDsKLX0KLQotdm9pZCBSZW5kZXJU
cmVlQnVpbGRlcjo6ZGVzdHJveUFuZENsZWFuVXBBbm9ueW1vdXNXcmFwcGVycyhSZW5kZXJPYmpl
Y3QmIGNoaWxkKQordm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6ZGVzdHJveUFuZENsZWFuVXBBbm9u
eW1vdXNXcmFwcGVycyhSZW5kZXJPYmplY3QmIHJlbmRlcmVyVG9EZXN0cm95KQogewogICAgIC8v
IElmIHRoZSB0cmVlIGlzIGRlc3Ryb3llZCwgdGhlcmUgaXMgbm8gbmVlZCBmb3IgYSBjbGVhbi11
cCBwaGFzZS4KLSAgICBpZiAoY2hpbGQucmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkpIHsKLSAg
ICAgICAgZGVzdHJveShjaGlsZCk7CisgICAgaWYgKHJlbmRlcmVyVG9EZXN0cm95LnJlbmRlclRy
ZWVCZWluZ0Rlc3Ryb3llZCgpKSB7CisgICAgICAgIGRlc3Ryb3kocmVuZGVyZXJUb0Rlc3Ryb3kp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgLy8gUmVtb3ZlIGludHJ1ZGluZyBmbG9h
dHMgZnJvbSBzaWJsaW5nIGJsb2NrcyBiZWZvcmUgZGV0YWNoaW5nLgotICAgIGlmIChpczxSZW5k
ZXJCb3g+KGNoaWxkKSAmJiBjaGlsZC5pc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkp
Ci0gICAgICAgIGRvd25jYXN0PFJlbmRlckJveD4oY2hpbGQpLnJlbW92ZUZsb2F0aW5nT3JQb3Np
dGlvbmVkQ2hpbGRGcm9tQmxvY2tMaXN0cygpOwotICAgIGF1dG8mIGRlc3Ryb3lSb290ID0gZmlu
ZERlc3Ryb3lSb290SW5jbHVkaW5nQW5vbnltb3VzKGNoaWxkKTsKKyAgICBpZiAoaXM8UmVuZGVy
Qm94PihyZW5kZXJlclRvRGVzdHJveSkgJiYgcmVuZGVyZXJUb0Rlc3Ryb3kuaXNGbG9hdGluZ09y
T3V0T2ZGbG93UG9zaXRpb25lZCgpKQorICAgICAgICBkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRl
cmVyVG9EZXN0cm95KS5yZW1vdmVGbG9hdGluZ09yUG9zaXRpb25lZENoaWxkRnJvbUJsb2NrTGlz
dHMoKTsKKworICAgIGF1dG8gaXNBbm9ueW1vdXNBbmRTYWZlVG9EZWxldGUgPSBbXSAoY29uc3Qg
YXV0byYgcmVuZGVyZXIpIHsKKyAgICAgICAgcmV0dXJuIHJlbmRlcmVyLmlzQW5vbnltb3VzKCkg
JiYgIXJlbmRlcmVyLmlzUmVuZGVyVmlldygpICYmICFyZW5kZXJlci5pc1JlbmRlckZyYWdtZW50
ZWRGbG93KCk7CisgICAgfTsKKworICAgIGF1dG8gZGVzdHJveVJvb3RJbmNsdWRpbmdBbm9ueW1v
dXMgPSBbJl0gKCkgLT4gUmVuZGVyT2JqZWN0JiB7CisgICAgICAgIGF1dG8qIGRlc3Ryb3lSb290
ID0gJnJlbmRlcmVyVG9EZXN0cm95OworICAgICAgICB3aGlsZSAoIWlzPFJlbmRlclZpZXc+KCpk
ZXN0cm95Um9vdCkpIHsKKyAgICAgICAgICAgIGF1dG8mIGRlc3Ryb3lSb290UGFyZW50ID0gKmRl
c3Ryb3lSb290LT5wYXJlbnQoKTsKKyAgICAgICAgICAgIGlmICghaXNBbm9ueW1vdXNBbmRTYWZl
VG9EZWxldGUoZGVzdHJveVJvb3RQYXJlbnQpKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgYm9vbCBkZXN0cm95aW5nT25seUNoaWxkID0gZGVzdHJveVJvb3RQYXJlbnQuZmly
c3RDaGlsZCgpID09IGRlc3Ryb3lSb290ICYmIGRlc3Ryb3lSb290UGFyZW50Lmxhc3RDaGlsZCgp
ID09IGRlc3Ryb3lSb290OworICAgICAgICAgICAgaWYgKCFkZXN0cm95aW5nT25seUNoaWxkKQor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVzdHJveVJvb3QgPSAmZGVzdHJv
eVJvb3RQYXJlbnQ7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuICpkZXN0cm95Um9vdDsKKyAg
ICB9OworCisgICAgYXV0byYgZGVzdHJveVJvb3QgPSBkZXN0cm95Um9vdEluY2x1ZGluZ0Fub255
bW91cygpOwogICAgIGlmIChpczxSZW5kZXJUYWJsZVJvdz4oZGVzdHJveVJvb3QpKQogICAgICAg
ICB0YWJsZUJ1aWxkZXIoKS5jb2xsYXBzZUFuZERlc3Ryb3lBbm9ueW1vdXNTaWJsaW5nUm93cyhk
b3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oZGVzdHJveVJvb3QpKTsKIAogICAgIC8vIEZJWE1FOiBE
byBub3QgdHJ5IHRvIGNvbGxhcHNlL2NsZWFudXAgdGhlIGFub255bW91cyB3cmFwcGVycyBpbnNp
ZGUgZGVzdHJveSAoc2VlIHdlYmtpdC5vcmcvYi8xODY3NDYpLgogICAgIGF1dG8gZGVzdHJveVJv
b3RQYXJlbnQgPSBtYWtlV2Vha1B0cigqZGVzdHJveVJvb3QucGFyZW50KCkpOworICAgIGlmICgm
cmVuZGVyZXJUb0Rlc3Ryb3kgIT0gJmRlc3Ryb3lSb290KSB7CisgICAgICAgIC8vIERlc3Ryb3kg
dGhlIGNoaWxkIHJlbmRlcmVyIGZpcnN0LCBiZWZvcmUgd2Ugc3RhcnQgdGVhcmluZyBkb3duIHRo
ZSBhbm9ueW1vdXMgd3JhcHBlciBhbmNlc3RvciBjaGFpbi4KKyAgICAgICAgZGVzdHJveShyZW5k
ZXJlclRvRGVzdHJveSk7CisgICAgfQogICAgIGRlc3Ryb3koZGVzdHJveVJvb3QpOwogICAgIGlm
ICghZGVzdHJveVJvb3RQYXJlbnQpCiAgICAgICAgIHJldHVybjsKQEAgLTgxMSw3ICs4MTAsNyBA
QCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpkZXN0cm95QW5kQ2xlYW5VcEFub255bW91c1dyYXBw
ZXJzKFJlbmRlck9iamVjdCYgY2hpbGQpCiAgICAgLy8gQW5vbnltb3VzIHBhcmVudCBtaWdodCBo
YXZlIGJlY29tZSBlbXB0eSwgdHJ5IHRvIGRlbGV0ZSBpdCB0b28uCiAgICAgaWYgKGlzQW5vbnlt
b3VzQW5kU2FmZVRvRGVsZXRlKCpkZXN0cm95Um9vdFBhcmVudCkgJiYgIWRlc3Ryb3lSb290UGFy
ZW50LT5maXJzdENoaWxkKCkpCiAgICAgICAgIGRlc3Ryb3lBbmRDbGVhblVwQW5vbnltb3VzV3Jh
cHBlcnMoKmRlc3Ryb3lSb290UGFyZW50KTsKLSAgICAvLyBXQVJOSU5HOiBjaGlsZCBpcyBkZWxl
dGVkIGhlcmUuCisgICAgLy8gV0FSTklORzogcmVuZGVyZXJUb0Rlc3Ryb3kgaXMgZGVsZXRlZCBo
ZXJlLgogfQogCiB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjp1cGRhdGVBZnRlckRlc2NlbmRhbnRz
KFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394825</attachid>
            <date>2020-03-28 09:50:40 -0700</date>
            <delta_ts>2020-03-28 10:21:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209695-20200328095039.patch</filename>
            <type>text/plain</type>
            <size>5564</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4OTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWI3NzgyNmEzMzliODdl
MGE4OWFkZjk3MWM4NmE2Yjg2NGFhNzE2Ni4uNTFkNmYzNTY1MmRjY2JkMzJiYWZkYzIzZjZjMTQ0
OGNhNTZiMDBjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTAzLTI3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBEZXN0cm95IHRoZSBjaGlsZCBmaXJzdCBpbiBSZW5kZXJUcmVlQnVpbGRlcjo6ZGVzdHJveUFu
ZENsZWFuVXBBbm9ueW1vdXNXcmFwcGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA5Njk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIHJlbmRlciB0cmVlIHRlYXIgZG93biBkaXJlY3Rpb24gaXMg
dXN1YWxseSBsZWFmIGZpcnN0ICh0aGVyZSBhcmUgc29tZSBub24tdHJpdmlhbCBjYXNlcyB3aGVy
ZSB3ZSBlbmQgdXAgZ29pbmcgY29udGFpbmVyIGZpcnN0KS4KKyAgICAgICAgQmVpbmcgYWJsZSB0
byBhY2Nlc3MgdGhlIGFuY2VzdG9yIGNoYWluIGhlbHBzIHdpdGggc29tZSBmaW5hbCBjbGVhbnVw
IGFjdGl2aXRpZXMgKGUuZyByZXBhaW50cykuCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgdGhl
IHJlbmRlcmVyLWluc2lkZS1hbi1hbm9ueW1vdXMtd3JhcHBlciBjYXNlIHNpbWlsYXIgdG8gdGhl
IG5vcm1hbCBjYXNlIGFzIHdlIGRlc3Ryb3kgdGhlIGxlYWYgcmVuZGVyZXIgZmlyc3QuCisgICAg
ICAgIEhvd2V2ZXIgdGhlIGFub255bW91cyBhbmNlc3RvciBjaGFpbiB0ZWFyIGRvd24gaXMgc3Rp
bGwgY29udGFpbmVyIGZpcnN0IChzZWUgcjIyODYwNikuICAgICAgCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVHJlZUJ1aWxkZXI6OmRlc3Ryb3lBbmRDbGVhblVwQW5vbnltb3VzV3JhcHBlcnMpOgor
ICAgICAgICAoV2ViQ29yZTo6aXNBbm9ueW1vdXNBbmRTYWZlVG9EZWxldGUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6ZmluZERlc3Ryb3lSb290SW5jbHVkaW5nQW5vbnltb3VzKTogRGVs
ZXRlZC4KKwogMjAyMC0wMy0yNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgog
CiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gQ2xlYW4gdGltZWxpbmUgaGVhZGVycyB1cApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWls
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVp
bGRlci5jcHAKaW5kZXggNjA1MWUzNGU4MWQ4ZGMyNzZiZjExYTUyNGJjMmIxY2IxNDYwODZjMy4u
ZDk3Y2Y5OTE1M2NiODQ3YTlkNWY5ODZkZTVhZTU1M2I4NWU3YTE1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3Bw
CkBAIC03NjIsNDcgKzc2Miw0NiBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpjaGlsZEZsb3dT
dGF0ZUNoYW5nZXNBbmROb0xvbmdlckFmZmVjdHNQYXJlbnRCbG9jayhSZW5kZQogICAgIHJlbW92
ZUFub255bW91c1dyYXBwZXJzRm9ySW5saW5lQ2hpbGRyZW5JZk5lZWRlZCgqY2hpbGQucGFyZW50
KCkpOwogfQogCi1zdGF0aWMgYm9vbCBpc0Fub255bW91c0FuZFNhZmVUb0RlbGV0ZShSZW5kZXJF
bGVtZW50JiBlbGVtZW50KQotewotICAgIGlmICghZWxlbWVudC5pc0Fub255bW91cygpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGVsZW1lbnQuaXNSZW5kZXJWaWV3KCkgfHwgZWxl
bWVudC5pc1JlbmRlckZyYWdtZW50ZWRGbG93KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICByZXR1cm4gdHJ1ZTsKLX0KLQotc3RhdGljIFJlbmRlck9iamVjdCYgZmluZERlc3Ryb3lSb290
SW5jbHVkaW5nQW5vbnltb3VzKFJlbmRlck9iamVjdCYgcmVuZGVyZXIpCi17Ci0gICAgYXV0byog
ZGVzdHJveVJvb3QgPSAmcmVuZGVyZXI7Ci0gICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgYXV0
byYgZGVzdHJveVJvb3RQYXJlbnQgPSAqZGVzdHJveVJvb3QtPnBhcmVudCgpOwotICAgICAgICBp
ZiAoIWlzQW5vbnltb3VzQW5kU2FmZVRvRGVsZXRlKGRlc3Ryb3lSb290UGFyZW50KSkKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBib29sIGRlc3Ryb3lpbmdPbmx5Q2hpbGQgPSBkZXN0cm95
Um9vdFBhcmVudC5maXJzdENoaWxkKCkgPT0gZGVzdHJveVJvb3QgJiYgZGVzdHJveVJvb3RQYXJl
bnQubGFzdENoaWxkKCkgPT0gZGVzdHJveVJvb3Q7Ci0gICAgICAgIGlmICghZGVzdHJveWluZ09u
bHlDaGlsZCkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZXN0cm95Um9vdCA9ICZkZXN0
cm95Um9vdFBhcmVudDsKLSAgICB9Ci0gICAgcmV0dXJuICpkZXN0cm95Um9vdDsKLX0KLQotdm9p
ZCBSZW5kZXJUcmVlQnVpbGRlcjo6ZGVzdHJveUFuZENsZWFuVXBBbm9ueW1vdXNXcmFwcGVycyhS
ZW5kZXJPYmplY3QmIGNoaWxkKQordm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6ZGVzdHJveUFuZENs
ZWFuVXBBbm9ueW1vdXNXcmFwcGVycyhSZW5kZXJPYmplY3QmIHJlbmRlcmVyVG9EZXN0cm95KQog
ewogICAgIC8vIElmIHRoZSB0cmVlIGlzIGRlc3Ryb3llZCwgdGhlcmUgaXMgbm8gbmVlZCBmb3Ig
YSBjbGVhbi11cCBwaGFzZS4KLSAgICBpZiAoY2hpbGQucmVuZGVyVHJlZUJlaW5nRGVzdHJveWVk
KCkpIHsKLSAgICAgICAgZGVzdHJveShjaGlsZCk7CisgICAgaWYgKHJlbmRlcmVyVG9EZXN0cm95
LnJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKSB7CisgICAgICAgIGRlc3Ryb3kocmVuZGVyZXJU
b0Rlc3Ryb3kpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgLy8gUmVtb3ZlIGludHJ1
ZGluZyBmbG9hdHMgZnJvbSBzaWJsaW5nIGJsb2NrcyBiZWZvcmUgZGV0YWNoaW5nLgotICAgIGlm
IChpczxSZW5kZXJCb3g+KGNoaWxkKSAmJiBjaGlsZC5pc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3Np
dGlvbmVkKCkpCi0gICAgICAgIGRvd25jYXN0PFJlbmRlckJveD4oY2hpbGQpLnJlbW92ZUZsb2F0
aW5nT3JQb3NpdGlvbmVkQ2hpbGRGcm9tQmxvY2tMaXN0cygpOwotICAgIGF1dG8mIGRlc3Ryb3lS
b290ID0gZmluZERlc3Ryb3lSb290SW5jbHVkaW5nQW5vbnltb3VzKGNoaWxkKTsKKyAgICBpZiAo
aXM8UmVuZGVyQm94PihyZW5kZXJlclRvRGVzdHJveSkgJiYgcmVuZGVyZXJUb0Rlc3Ryb3kuaXNG
bG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpKQorICAgICAgICBkb3duY2FzdDxSZW5kZXJC
b3g+KHJlbmRlcmVyVG9EZXN0cm95KS5yZW1vdmVGbG9hdGluZ09yUG9zaXRpb25lZENoaWxkRnJv
bUJsb2NrTGlzdHMoKTsKKworICAgIGF1dG8gaXNBbm9ueW1vdXNBbmRTYWZlVG9EZWxldGUgPSBb
XSAoY29uc3QgYXV0byYgcmVuZGVyZXIpIHsKKyAgICAgICAgcmV0dXJuIHJlbmRlcmVyLmlzQW5v
bnltb3VzKCkgJiYgIXJlbmRlcmVyLmlzUmVuZGVyVmlldygpICYmICFyZW5kZXJlci5pc1JlbmRl
ckZyYWdtZW50ZWRGbG93KCk7CisgICAgfTsKKworICAgIGF1dG8gZGVzdHJveVJvb3RJbmNsdWRp
bmdBbm9ueW1vdXMgPSBbJl0gKCkgLT4gUmVuZGVyT2JqZWN0JiB7CisgICAgICAgIGF1dG8qIGRl
c3Ryb3lSb290ID0gJnJlbmRlcmVyVG9EZXN0cm95OworICAgICAgICB3aGlsZSAoIWlzPFJlbmRl
clZpZXc+KCpkZXN0cm95Um9vdCkpIHsKKyAgICAgICAgICAgIGF1dG8mIGRlc3Ryb3lSb290UGFy
ZW50ID0gKmRlc3Ryb3lSb290LT5wYXJlbnQoKTsKKyAgICAgICAgICAgIGlmICghaXNBbm9ueW1v
dXNBbmRTYWZlVG9EZWxldGUoZGVzdHJveVJvb3RQYXJlbnQpKQorICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgYm9vbCBkZXN0cm95aW5nT25seUNoaWxkID0gZGVzdHJveVJvb3RQ
YXJlbnQuZmlyc3RDaGlsZCgpID09IGRlc3Ryb3lSb290ICYmIGRlc3Ryb3lSb290UGFyZW50Lmxh
c3RDaGlsZCgpID09IGRlc3Ryb3lSb290OworICAgICAgICAgICAgaWYgKCFkZXN0cm95aW5nT25s
eUNoaWxkKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVzdHJveVJvb3Qg
PSAmZGVzdHJveVJvb3RQYXJlbnQ7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuICpkZXN0cm95
Um9vdDsKKyAgICB9OworCisgICAgYXV0byYgZGVzdHJveVJvb3QgPSBkZXN0cm95Um9vdEluY2x1
ZGluZ0Fub255bW91cygpOwogICAgIGlmIChpczxSZW5kZXJUYWJsZVJvdz4oZGVzdHJveVJvb3Qp
KQogICAgICAgICB0YWJsZUJ1aWxkZXIoKS5jb2xsYXBzZUFuZERlc3Ryb3lBbm9ueW1vdXNTaWJs
aW5nUm93cyhkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oZGVzdHJveVJvb3QpKTsKIAogICAgIC8v
IEZJWE1FOiBEbyBub3QgdHJ5IHRvIGNvbGxhcHNlL2NsZWFudXAgdGhlIGFub255bW91cyB3cmFw
cGVycyBpbnNpZGUgZGVzdHJveSAoc2VlIHdlYmtpdC5vcmcvYi8xODY3NDYpLgogICAgIGF1dG8g
ZGVzdHJveVJvb3RQYXJlbnQgPSBtYWtlV2Vha1B0cigqZGVzdHJveVJvb3QucGFyZW50KCkpOwor
ICAgIGlmICgmcmVuZGVyZXJUb0Rlc3Ryb3kgIT0gJmRlc3Ryb3lSb290KSB7CisgICAgICAgIC8v
IERlc3Ryb3kgdGhlIGNoaWxkIHJlbmRlcmVyIGZpcnN0LCBiZWZvcmUgd2Ugc3RhcnQgdGVhcmlu
ZyBkb3duIHRoZSBhbm9ueW1vdXMgd3JhcHBlciBhbmNlc3RvciBjaGFpbi4KKyAgICAgICAgZGVz
dHJveShyZW5kZXJlclRvRGVzdHJveSk7CisgICAgfQogICAgIGRlc3Ryb3koZGVzdHJveVJvb3Qp
OwogICAgIGlmICghZGVzdHJveVJvb3RQYXJlbnQpCiAgICAgICAgIHJldHVybjsKQEAgLTgxMSw3
ICs4MTAsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpkZXN0cm95QW5kQ2xlYW5VcEFub255
bW91c1dyYXBwZXJzKFJlbmRlck9iamVjdCYgY2hpbGQpCiAgICAgLy8gQW5vbnltb3VzIHBhcmVu
dCBtaWdodCBoYXZlIGJlY29tZSBlbXB0eSwgdHJ5IHRvIGRlbGV0ZSBpdCB0b28uCiAgICAgaWYg
KGlzQW5vbnltb3VzQW5kU2FmZVRvRGVsZXRlKCpkZXN0cm95Um9vdFBhcmVudCkgJiYgIWRlc3Ry
b3lSb290UGFyZW50LT5maXJzdENoaWxkKCkpCiAgICAgICAgIGRlc3Ryb3lBbmRDbGVhblVwQW5v
bnltb3VzV3JhcHBlcnMoKmRlc3Ryb3lSb290UGFyZW50KTsKLSAgICAvLyBXQVJOSU5HOiBjaGls
ZCBpcyBkZWxldGVkIGhlcmUuCisgICAgLy8gV0FSTklORzogcmVuZGVyZXJUb0Rlc3Ryb3kgaXMg
ZGVsZXRlZCBoZXJlLgogfQogCiB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjp1cGRhdGVBZnRlckRl
c2NlbmRhbnRzKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>