<?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>208536</bug_id>
          
          <creation_ts>2020-03-03 14:08:41 -0800</creation_ts>
          <short_desc>[Internals] Introduce Internals::updateLayoutAndStyleRecursively</short_desc>
          <delta_ts>2020-03-03 16:06:24 -0800</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>
          
          <blocked>208285</blocked>
    
    <blocked>208385</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</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>1625232</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-03 14:08:41 -0800</bug_when>
    <thetext>so that test pages can make sure that the render tree is clean.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625233</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-03 14:08:59 -0800</bug_when>
    <thetext>&lt;rdar://problem/60012372&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625245</commentid>
    <comment_count>2</comment_count>
      <attachid>392329</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-03 14:19:28 -0800</bug_when>
    <thetext>Created attachment 392329
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625253</commentid>
    <comment_count>3</comment_count>
      <attachid>392329</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-03 14:21:17 -0800</bug_when>
    <thetext>Comment on attachment 392329
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        However in certain cases (see Hyatt&apos;s optimization on lazy offsetHeight/Width computation) this call can leave the tree partially dirty.

Maybe reference an actual function rather than assuming that we all know what hyatt&apos;s optimizations are.

&gt; Source/WebCore/testing/Internals.idl:533
&gt; +    void updateLayoutAndStyleRecursively();

I think &quot;for all frames&quot; would be clearer that &quot;recursively&quot;; it&apos;s not clear what&apos;s being recursed on.

&gt; LayoutTests/fast/images/animated-gif-no-layout.html:13
&gt; +            internals.updateLayoutAndStyleRecursively();

Why not replace or remove the document.body.offsetWidth above?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625260</commentid>
    <comment_count>4</comment_count>
      <attachid>392334</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-03 14:39:06 -0800</bug_when>
    <thetext>Created attachment 392334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625261</commentid>
    <comment_count>5</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-03 14:40:00 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; Comment on attachment 392329 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=392329&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        However in certain cases (see Hyatt&apos;s optimization on lazy offsetHeight/Width computation) this call can leave the tree partially dirty.
&gt; 
&gt; Maybe reference an actual function rather than assuming that we all know
&gt; what hyatt&apos;s optimizations are.
Fixed.

&gt; 
&gt; &gt; Source/WebCore/testing/Internals.idl:533
&gt; &gt; +    void updateLayoutAndStyleRecursively();
&gt; 
&gt; I think &quot;for all frames&quot; would be clearer that &quot;recursively&quot;; it&apos;s not clear
&gt; what&apos;s being recursed on.
Much better name indeed.

&gt; 
&gt; &gt; LayoutTests/fast/images/animated-gif-no-layout.html:13
&gt; &gt; +            internals.updateLayoutAndStyleRecursively();
&gt; 
&gt; Why not replace or remove the document.body.offsetWidth above?
Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625303</commentid>
    <comment_count>6</comment_count>
      <attachid>392334</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-03 16:06:22 -0800</bug_when>
    <thetext>Comment on attachment 392334
Patch

Clearing flags on attachment: 392334

Committed r257811: &lt;https://trac.webkit.org/changeset/257811&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625304</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-03 16:06:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392329</attachid>
            <date>2020-03-03 14:19:28 -0800</date>
            <delta_ts>2020-03-03 14:39:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208536-20200303141927.patch</filename>
            <type>text/plain</type>
            <size>4909</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3Nzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGI4MmMyZGZiYTRmZjg2
N2Y3NTZlYjU3Njc5NjM0ZTc3YjliN2RmZS4uODI3ZmU5MWFhODMxYmEzNDkwOWY2NzVmNzUwNTE4
NzVmODY4MjNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTAzLTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0ludGVybmFsc10gSW50cm9k
dWNlIEludGVybmFsczo6dXBkYXRlTGF5b3V0QW5kU3R5bGVSZWN1cnNpdmVseQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NTM2CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS82MDAxMjM3Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJdCdzIGJlZW4gYSBjb21tb24gcHJhY3RpY2UgdG8gY2FsbCBkb2N1
bWVudC5ib2R5Lm9mZnNldEhlaWdodC9XaWR0aCB0byBmb3JjZSBzdHlsZSB1cGRhdGUgYW5kIGxh
eW91dC4KKyAgICAgICAgSG93ZXZlciBpbiBjZXJ0YWluIGNhc2VzIChzZWUgSHlhdHQncyBvcHRp
bWl6YXRpb24gb24gbGF6eSBvZmZzZXRIZWlnaHQvV2lkdGggY29tcHV0YXRpb24pIHRoaXMgY2Fs
bCBjYW4gbGVhdmUgdGhlIHRyZWUgcGFydGlhbGx5IGRpcnR5LgorCisgICAgICAgIFRoaXMgYmVo
YXZpb3IgbGVhZHMgdG8gZmxha2luZXNzLCBlc3BlY2lhbGx5IHdoZW4gdGhlIHRlc3QgY2hlY2tz
IGFnYWluc3QgSW50ZXJuYWxzOjpsYXlvdXRDb3VudC4KKworICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6dXBkYXRlTGF5b3V0QW5k
U3R5bGVSZWN1cnNpdmVseSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAtMDMtMDMgIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gRml4IGN1
cnJlbnQgdGltZSBhbmQgZHVyYXRpb24gZm9ybWF0dGluZyBpbiBtZWRpYSBjb250cm9scwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDliNDc5M2QxNjQyYmNlNDI2ZWVhZGY3
M2E2MjdkYjk4MWNhOWEzMGQuLjM1MGE2NzU2MTVhNjBkNzhmMzE4ZGU2ZmQyMmEwOWRhNWQ3ODg5
MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMzNzYsNiArMzM3Niwx
NCBAQCBFeGNlcHRpb25PcjxPcHRpb25hbDxJbnRlcm5hbHM6OkNvbXBvc2l0aW5nUG9saWN5Pj4g
SW50ZXJuYWxzOjpjb21wb3NpdGluZ1BvbGljeQogICAgIHJldHVybiB7IEludGVybmFsczo6Q29t
cG9zaXRpbmdQb2xpY3k6Ok5vcm1hbCB9OwogfQogCit2b2lkIEludGVybmFsczo6dXBkYXRlTGF5
b3V0QW5kU3R5bGVSZWN1cnNpdmVseSgpCit7CisgICAgYXV0byogZG9jdW1lbnQgPSBjb250ZXh0
RG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+dmlldygpKQorICAg
ICAgICByZXR1cm47CisgICAgZG9jdW1lbnQtPnZpZXcoKS0+dXBkYXRlTGF5b3V0QW5kU3R5bGVJ
Zk5lZWRlZFJlY3Vyc2l2ZSgpOworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbHM6OnVw
ZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcyhO
b2RlKiBub2RlKQogewogICAgIERvY3VtZW50KiBkb2N1bWVudDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCmluZGV4IGIxNjYyYmI1ZDI2ZTA4NjFjYjI4MzA5NTkzYmE4ZTE2YmIwZDMxNTIu
LjJiZWMyZWUxOTM2MTJhMDAwZGE3NjA0ZDI2NTA0NmIxYWViYzMzZWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaApAQCAtNTExLDYgKzUxMSw3IEBAIHB1YmxpYzoKICAgICBFeGNlcHRp
b25Pcjx2b2lkPiBzZXRDb21wb3NpdGluZ1BvbGljeU92ZXJyaWRlKE9wdGlvbmFsPENvbXBvc2l0
aW5nUG9saWN5Pik7CiAgICAgRXhjZXB0aW9uT3I8T3B0aW9uYWw8Q29tcG9zaXRpbmdQb2xpY3k+
PiBjb21wb3NpdGluZ1BvbGljeU92ZXJyaWRlKCkgY29uc3Q7CiAKKyAgICB2b2lkIHVwZGF0ZUxh
eW91dEFuZFN0eWxlUmVjdXJzaXZlbHkoKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiB1cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0TGF5b3V0VGFza3MoTm9kZSop
OwogICAgIHVuc2lnbmVkIGxheW91dENvdW50KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbAppbmRleCBjNDRiNjAyYjIxZDQ5YmNkYmQ2NWEyMTdiYTc5NDEwNDJhM2M4
MDU3Li5iMWRjY2E0MWZiMjU5ZGZiM2YyZTUzNDAwYjM5OWIzMDQ2Mjg2YjgxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC01MzAsNiArNTMwLDggQEAgZW51bSBDb21wb3Np
dGluZ1BvbGljeSB7CiAKICAgICBhdHRyaWJ1dGUgQ29tcG9zaXRpbmdQb2xpY3k/IGNvbXBvc2l0
aW5nUG9saWN5T3ZlcnJpZGU7CiAKKyAgICB2b2lkIHVwZGF0ZUxheW91dEFuZFN0eWxlUmVjdXJz
aXZlbHkoKTsKKwogICAgIC8vIHxub2RlfCBzaG91bGQgYmUgRG9jdW1lbnQsIEhUTUxJRnJhbWVF
bGVtZW50LCBvciB1bnNwZWNpZmllZC4KICAgICAvLyBJZiB8bm9kZXwgaXMgYW4gSFRNTElGcmFt
ZUVsZW1lbnQsIGl0IGFzc3VtZXMgbm9kZS5jb250ZW50RG9jdW1lbnQgaXMKICAgICAvLyBzcGVj
aWZpZWQgd2l0aG91dCBzZWN1cml0eSBjaGVja3MuIFVuc3BlY2lmaWVkIG9yIG51bGwgbWVhbnMg
dGhpcyBkb2N1bWVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkN2I5NDczMTBiYjVkM2I4MDFjN2I4YmQzMTY0YjlmNzUx
NDg2ZTcxLi45NmQ3YmQ2NzU1YmNkNzI1ODk0MjlmZTdmYzRlOTdiZGQwZDQ4MjU0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMjAtMDMtMDMgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBbSW50ZXJuYWxzXSBJbnRyb2R1Y2UgSW50ZXJuYWxzOjp1cGRhdGVMYXlv
dXRBbmRTdHlsZVJlY3Vyc2l2ZWx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDg1MzYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwMDEyMzcyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9p
bWFnZXMvYW5pbWF0ZWQtZ2lmLW5vLWxheW91dC5odG1sOgorCiAyMDIwLTAzLTAzICBDYXJsb3Mg
R2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
IEdUSyBnYXJkZW5pbmcuIFJlYmFzZWxpbmUgbWVkaWEvdmlkZW8tY29udHJvbHMtbm8tc2NyaXB0
aW5nLmh0bWwgYWZ0ZXIgcjI1NzcwNQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFn
ZXMvYW5pbWF0ZWQtZ2lmLW5vLWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
YW5pbWF0ZWQtZ2lmLW5vLWxheW91dC5odG1sCmluZGV4IGZlMmU5YjgyMDEyODFiZTBkM2I4NTQ1
MzZkZTJhYzA4OWYxMTFmOGEuLjE5MzJlMTRlOTZiZWEzZTA5ZDFlNTJiZmU4ZTI0ODc2NDA5Zjll
YzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1uby1s
YXlvdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1naWYtbm8t
bGF5b3V0Lmh0bWwKQEAgLTEwLDYgKzEwLDcgQEAKICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZz
ZXRXaWR0aDsgLy8gRXhwbGljaXRseSB0cmlnZ2VyIGEgbGF5b3V0LgogCiAgICAgICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzICYmIHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICBpbnRl
cm5hbHMudXBkYXRlTGF5b3V0QW5kU3R5bGVSZWN1cnNpdmVseSgpOwogICAgICAgICAgICAgdmFy
IGNvdW50ID0gaW50ZXJuYWxzLmxheW91dENvdW50IC0gbGF5b3V0Q291bnRCZWZvcmVUaW1lcjsK
ICAgICAgICAgICAgIGlmIChjb3VudCA9PSAwKSB7CiAgICAgICAgICAgICAgICAgdmFyIGluZGlj
YXRvciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbmRpY2F0b3IiKTsKQEAgLTI3LDYgKzI4
LDcgQEAKIAogICAgICAgICBpZiAod2luZG93LmludGVybmFscyAmJiB3aW5kb3cudGVzdFJ1bm5l
cikgewogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAg
ICBpbnRlcm5hbHMudXBkYXRlTGF5b3V0QW5kU3R5bGVSZWN1cnNpdmVseSgpOwogICAgICAgICAg
ICAgbGF5b3V0Q291bnRCZWZvcmVUaW1lciA9IGludGVybmFscy5sYXlvdXRDb3VudDsKICAgICAg
ICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392334</attachid>
            <date>2020-03-03 14:39:06 -0800</date>
            <delta_ts>2020-03-03 16:06:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208536-20200303143906.patch</filename>
            <type>text/plain</type>
            <size>5106</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3Nzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGI4MmMyZGZiYTRmZjg2
N2Y3NTZlYjU3Njc5NjM0ZTc3YjliN2RmZS4uN2FmOTUwODRlZjkzOWU2MjViZDEyMTYzZGIzMjA5
MDA4YWUzMDk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAzLTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0ludGVybmFsc10gSW50cm9k
dWNlIEludGVybmFsczo6dXBkYXRlTGF5b3V0QW5kU3R5bGVSZWN1cnNpdmVseQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NTM2CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS82MDAxMjM3Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFz
ZXIuCisKKyAgICAgICAgSXQncyBiZWVuIGEgY29tbW9uIHByYWN0aWNlIHRvIGNhbGwgZG9jdW1l
bnQuYm9keS5vZmZzZXRIZWlnaHQvV2lkdGggdG8gZm9yY2Ugc3R5bGUgdXBkYXRlIGFuZCBsYXlv
dXQuCisgICAgICAgIEhvd2V2ZXIgaW4gY2VydGFpbiBjYXNlcyAoc2VlIEh5YXR0J3Mgb3B0aW1p
emF0aW9uIG9uIGxhenkgb2Zmc2V0SGVpZ2h0L1dpZHRoIGNvbXB1dGF0aW9uIGluIERvY3VtZW50
Ojp1cGRhdGVMYXlvdXRJZkRpbWVuc2lvbnNPdXRPZkRhdGUpCisgICAgICAgIHRoaXMgY2FsbCBj
YW4gbGVhdmUgdGhlIHRyZWUgcGFydGlhbGx5IGRpcnR5LgorCisgICAgICAgIFRoaXMgYmVoYXZp
b3IgbGVhZHMgdG8gZmxha2luZXNzLCBlc3BlY2lhbGx5IHdoZW4gdGhlIHRlc3QgY2hlY2tzIGFn
YWluc3QgSW50ZXJuYWxzOjpsYXlvdXRDb3VudC4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6dXBkYXRlTGF5b3V0QW5kU3R5
bGVSZWN1cnNpdmVseSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAtMDMtMDMgIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gRml4IGN1cnJl
bnQgdGltZSBhbmQgZHVyYXRpb24gZm9ybWF0dGluZyBpbiBtZWRpYSBjb250cm9scwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDliNDc5M2QxNjQyYmNlNDI2ZWVhZGY3M2E2
MjdkYjk4MWNhOWEzMGQuLmZiYjQ0Nzg1MjM0OThhY2RkN2NiNzY5YTJlNmMyMGQ4MjM3MWQ5NWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMzNzYsNiArMzM3NiwxNCBA
QCBFeGNlcHRpb25PcjxPcHRpb25hbDxJbnRlcm5hbHM6OkNvbXBvc2l0aW5nUG9saWN5Pj4gSW50
ZXJuYWxzOjpjb21wb3NpdGluZ1BvbGljeQogICAgIHJldHVybiB7IEludGVybmFsczo6Q29tcG9z
aXRpbmdQb2xpY3k6Ok5vcm1hbCB9OwogfQogCit2b2lkIEludGVybmFsczo6dXBkYXRlTGF5b3V0
QW5kU3R5bGVGb3JBbGxGcmFtZXMoKQoreworICAgIGF1dG8qIGRvY3VtZW50ID0gY29udGV4dERv
Y3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPnZpZXcoKSkKKyAgICAg
ICAgcmV0dXJuOworICAgIGRvY3VtZW50LT52aWV3KCktPnVwZGF0ZUxheW91dEFuZFN0eWxlSWZO
ZWVkZWRSZWN1cnNpdmUoKTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxzOjp1cGRh
dGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0TGF5b3V0VGFza3MoTm9k
ZSogbm9kZSkKIHsKICAgICBEb2N1bWVudCogZG9jdW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaAppbmRleCBiMTY2MmJiNWQyNmUwODYxY2IyODMwOTU5M2JhOGUxNmJiMGQzMTUyLi43
NTc5NzIxYjU5NTUyOTAzNGQ5ZTk1YWQzYzRmNzJmMDgwODJhOWQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKQEAgLTUxMSw2ICs1MTEsNyBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9u
T3I8dm9pZD4gc2V0Q29tcG9zaXRpbmdQb2xpY3lPdmVycmlkZShPcHRpb25hbDxDb21wb3NpdGlu
Z1BvbGljeT4pOwogICAgIEV4Y2VwdGlvbk9yPE9wdGlvbmFsPENvbXBvc2l0aW5nUG9saWN5Pj4g
Y29tcG9zaXRpbmdQb2xpY3lPdmVycmlkZSgpIGNvbnN0OwogCisgICAgdm9pZCB1cGRhdGVMYXlv
dXRBbmRTdHlsZUZvckFsbEZyYW1lcygpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHVwZGF0ZUxh
eW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcyhOb2RlKik7
CiAgICAgdW5zaWduZWQgbGF5b3V0Q291bnQoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCmluZGV4IGM0NGI2MDJiMjFkNDliY2RiZDY1YTIxN2JhNzk0MTA0MmEzYzgw
NTcuLjFiMWQ5MmNlYzE3OTE2YzNmMmYwNGMwNjMxNjFkNGIxYzVhNWY5ZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTUzMCw2ICs1MzAsOCBAQCBlbnVtIENvbXBvc2l0
aW5nUG9saWN5IHsKIAogICAgIGF0dHJpYnV0ZSBDb21wb3NpdGluZ1BvbGljeT8gY29tcG9zaXRp
bmdQb2xpY3lPdmVycmlkZTsKIAorICAgIHZvaWQgdXBkYXRlTGF5b3V0QW5kU3R5bGVGb3JBbGxG
cmFtZXMoKTsKKwogICAgIC8vIHxub2RlfCBzaG91bGQgYmUgRG9jdW1lbnQsIEhUTUxJRnJhbWVF
bGVtZW50LCBvciB1bnNwZWNpZmllZC4KICAgICAvLyBJZiB8bm9kZXwgaXMgYW4gSFRNTElGcmFt
ZUVsZW1lbnQsIGl0IGFzc3VtZXMgbm9kZS5jb250ZW50RG9jdW1lbnQgaXMKICAgICAvLyBzcGVj
aWZpZWQgd2l0aG91dCBzZWN1cml0eSBjaGVja3MuIFVuc3BlY2lmaWVkIG9yIG51bGwgbWVhbnMg
dGhpcyBkb2N1bWVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkN2I5NDczMTBiYjVkM2I4MDFjN2I4YmQzMTY0YjlmNzUx
NDg2ZTcxLi40ZDgyODRlODZkNzZmOWQwMDcyZmVjOTk2NjhmYmEyZThlZDhiODBlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMjAtMDMtMDMgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBbSW50ZXJuYWxzXSBJbnRyb2R1Y2UgSW50ZXJuYWxzOjp1cGRhdGVMYXlv
dXRBbmRTdHlsZVJlY3Vyc2l2ZWx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDg1MzYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwMDEyMzcyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICAqIGZhc3QvaW1h
Z2VzL2FuaW1hdGVkLWdpZi1uby1sYXlvdXQuaHRtbDoKKwogMjAyMC0wMy0wMyAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBH
VEsgZ2FyZGVuaW5nLiBSZWJhc2VsaW5lIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLW5vLXNjcmlwdGlu
Zy5odG1sIGFmdGVyIHIyNTc3MDUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2Vz
L2FuaW1hdGVkLWdpZi1uby1sYXlvdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2Fu
aW1hdGVkLWdpZi1uby1sYXlvdXQuaHRtbAppbmRleCBmZTJlOWI4MjAxMjgxYmUwZDNiODU0NTM2
ZGUyYWMwODlmMTExZjhhLi5hNTY2MGRlODQ0MDRlM2Q1ZWQzMDU2Yzc0ZjQzZTMwZDRjOTZkODky
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1naWYtbm8tbGF5
b3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQtZ2lmLW5vLWxh
eW91dC5odG1sCkBAIC03LDkgKzcsOCBAQAogCiAgICAgZnVuY3Rpb24gYW5pbWF0aW9uQ29tcGxl
dGUoKQogICAgIHsKLSAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDsgLy8gRXhwbGlj
aXRseSB0cmlnZ2VyIGEgbGF5b3V0LgotCiAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzICYm
IHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICBpbnRlcm5hbHMudXBkYXRlTGF5b3V0
QW5kU3R5bGVGb3JBbGxGcmFtZXMoKTsKICAgICAgICAgICAgIHZhciBjb3VudCA9IGludGVybmFs
cy5sYXlvdXRDb3VudCAtIGxheW91dENvdW50QmVmb3JlVGltZXI7CiAgICAgICAgICAgICBpZiAo
Y291bnQgPT0gMCkgewogICAgICAgICAgICAgICAgIHZhciBpbmRpY2F0b3IgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaW5kaWNhdG9yIik7CkBAIC0yMywxMCArMjIsOSBAQAogCiAgICAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgewotICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoOyAv
LyBFeHBsaWNpdGx5IHRyaWdnZXIgYSBsYXlvdXQuCi0KICAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMgJiYgd2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICAgICAgICAgICAgaW50ZXJuYWxzLnVwZGF0ZUxheW91dEFuZFN0eWxl
Rm9yQWxsRnJhbWVzKCk7CiAgICAgICAgICAgICBsYXlvdXRDb3VudEJlZm9yZVRpbWVyID0gaW50
ZXJuYWxzLmxheW91dENvdW50OwogICAgICAgICB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>