<?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>76805</bug_id>
          
          <creation_ts>2012-01-22 20:43:09 -0800</creation_ts>
          <short_desc>[chromium] Add support to force full damage in CCDamageTracker</short_desc>
          <delta_ts>2012-02-04 22:14:28 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>76668</blocked>
    
    <blocked>77555</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shawn Singh">shawnsingh</reporter>
          <assigned_to name="Shawn Singh">shawnsingh</assigned_to>
          <cc>backer</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>mmocny</cc>
    
    <cc>nduca</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>540363</commentid>
    <comment_count>0</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-01-22 20:43:09 -0800</bug_when>
    <thetext>Steps to reproduce the issue on linux:

1. build osmesa target in addition to chromium
2. run chromium with the following flags: --use-gl=osmesa --enable-partial-swap
3. navigate to the poster circle css demo, which should trigger accelerated compositing
4. open a new tab
5. switch back to the poster circle demo.

Because of partial swap, there will be leftover junk from the previous tab.  The solution is that tab switching should force-damage the entire viewport.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540365</commentid>
    <comment_count>1</comment_count>
      <attachid>123513</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-01-22 20:48:07 -0800</bug_when>
    <thetext>Created attachment 123513
Will add unit test if this change looks OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540369</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-01-22 20:52:14 -0800</bug_when>
    <thetext>Do we always lose our frontbuffer when switching tabs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540370</commentid>
    <comment_count>3</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-01-22 20:55:49 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Do we always lose our frontbuffer when switching tabs?

Good point - 

There is a boolean layerRendererCapabilities().contextHasCachedFrontBuffer

However, that&apos;s not enough to assume the front buffer is still cached, it may have been evicted, right?

I did not see any other hook that currently exists on the Impl thread to detect if the front buffer was lost... can you please point me to it, if it exists?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540495</commentid>
    <comment_count>4</comment_count>
    <who name="Jonathan Backer">backer</who>
    <bug_when>2012-01-23 05:26:33 -0800</bug_when>
    <thetext>&gt; However, that&apos;s not enough to assume the front buffer is still cached, it may have been evicted, right?

mmocny@ is working on evicting front buffers. Currently they are never evicted. So it&apos;s safe to use |layerRendererCapabilities().contextHasCachedFrontBuffer|. 

mmocny@ is plumbing a signal to the renderer to drop the front buffer (which the renderer will forward to the GPU process). So we should be able to invalidate. I&apos;ve CC&apos;ed him so that he knows this is an issue.

 
&gt; I did not see any other hook that currently exists on the Impl thread to detect if the front buffer was lost... can you please point me to it, if it exists?

Not yet. mmocny&apos;s WIP is here: https://bugs.webkit.org/show_bug.cgi?id=76634</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540643</commentid>
    <comment_count>5</comment_count>
      <attachid>123513</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-01-23 10:21:13 -0800</bug_when>
    <thetext>Comment on attachment 123513
Will add unit test if this change looks OK

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

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:345
&gt; +        rootLayer()-&gt;renderSurface()-&gt;damageTracker()-&gt;forceFullDamageNextUpdate();

Its not clear to me that the damage tracker should understand this concept? It seems awefully like &quot;taking a damage tracker and bringing it back to its initial state.&quot;

At which point, why not just delete the damage tracker and recreate it? E.g. renderSurface()-&gt;resetDamageTracker()? Or delete the rendersurface and recreate it?

E.g. where reset is deleting the old damage tracker and creating a new one?

Or, for that matter, delete the rendersurface? And then make sure it gets created on the next update?

I thought the point of putting damage trackers on rendersurfaces was for this sort of thing.

Using the layerrenderercaps structure for now makes sense on setVisible(false)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549177</commentid>
    <comment_count>6</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-02-03 15:46:39 -0800</bug_when>
    <thetext>Changing name of this bug, to reflect the new purpose of this bug.  Patch for review will be coming shortly.

The original tab-switch issue will be fixed by two patches: this one, followed by https://bugs.webkit.org/show_bug.cgi?id=77555</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549198</commentid>
    <comment_count>7</comment_count>
      <attachid>125442</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-02-03 15:59:36 -0800</bug_when>
    <thetext>Created attachment 125442
Patch with unit test

By the way, Nat and I discussed offline, and we agreed this approach is reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549263</commentid>
    <comment_count>8</comment_count>
      <attachid>125442</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-03 17:19:47 -0800</bug_when>
    <thetext>Comment on attachment 125442
Patch with unit test

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549532</commentid>
    <comment_count>9</comment_count>
      <attachid>125442</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-04 22:14:07 -0800</bug_when>
    <thetext>Comment on attachment 125442
Patch with unit test

Clearing flags on attachment: 125442

Committed r106754: &lt;http://trac.webkit.org/changeset/106754&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549533</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-04 22:14:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123513</attachid>
            <date>2012-01-22 20:48:07 -0800</date>
            <delta_ts>2012-02-03 15:59:32 -0800</delta_ts>
            <desc>Will add unit test if this change looks OK</desc>
            <filename>bug-76805-20120122204806.patch</filename>
            <type>text/plain</type>
            <size>4339</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODk5MDRlYzI4YTFlMTY0
MGRhMjJkZmUzNTViMTI0MWJmNTljMjFkNy4uNmZkNjQ0YWU0ZjQ3NWEyZDY0MWVlMGZiMjFlMDk0
ZmMxMGU5YWVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAxLTIyICBTaGF3
biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0g
Rm9yY2UgZnVsbCBkYW1hZ2UgaW4gQ0NEYW1hZ2VUcmFja2VyIG9uIGEgdGFiLXN3aXRjaAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MDUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMu
IFRoaXMgcGF0Y2ggc2hvdWxkIG5vdCBsYW5kOyB1bml0IHRlc3Qgd2lsbAorICAgICAgICBiZSBh
ZGRlZCBmb3IgZmluYWwgdmVyc2lvbiBvZiBwYXRjaC4KKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDQ0RhbWFnZVRyYWNrZXI6OkNDRGFtYWdlVHJhY2tlcik6CisgICAgICAgIChXZWJDb3JlOjpD
Q0RhbWFnZVRyYWNrZXI6OnVwZGF0ZURhbWFnZVJlY3RGb3JOZXh0RnJhbWUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q0NEYW1hZ2VUcmFja2VyOjpmb3JjZUZ1bGxEYW1hZ2VOZXh0VXBkYXRlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OnNldFZpc2li
bGUpOgorCiAyMDEyLTAxLTIxICBQYWJsbyBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4K
IAogICAgICAgICBBZGQgLnVybCBhdHRyaWJ1dGUgYWxvbmdzaWRlIC5VUkwgaW4gRXZlbnRTb3Vy
Y2UgYW5kIFdlYlNvY2tldCB0byBjb21wbHkgd2l0aCB0aGUgc3BlY3MgYnV0IG5vdCBicmVhayBl
eGlzdGluZyB1c2FnZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3BwCmluZGV4IDE3MjI2
YWE4MjA5MTAxOTM5OGFlZGMyYmMzMDBkNzkxMThmM2ZhNmQuLmNhODg4N2MxNWMyNmMzZWRkYTc2
MWUzZmFlYjQxMTI4NjkyZTQzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFja2VyLmNwcApA
QCAtNDYsNiArNDYsNyBAQCBQYXNzT3duUHRyPENDRGFtYWdlVHJhY2tlcj4gQ0NEYW1hZ2VUcmFj
a2VyOjpjcmVhdGUoKQogfQogCiBDQ0RhbWFnZVRyYWNrZXI6OkNDRGFtYWdlVHJhY2tlcigpCisg
ICAgOiBtX2ZvcmNlRnVsbERhbWFnZU5leHRVcGRhdGUoZmFsc2UpCiB7CiAgICAgbV9jdXJyZW50
UmVjdEhpc3RvcnkgPSBhZG9wdFB0cihuZXcgUmVjdE1hcCk7CiAgICAgbV9uZXh0UmVjdEhpc3Rv
cnkgPSBhZG9wdFB0cihuZXcgUmVjdE1hcCk7CkBAIC0xMjgsNiArMTI5LDEyIEBAIHZvaWQgQ0NE
YW1hZ2VUcmFja2VyOjp1cGRhdGVEYW1hZ2VSZWN0Rm9yTmV4dEZyYW1lKGNvbnN0IFZlY3RvcjxS
ZWZQdHI8Q0NMYXllckltCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAobV9mb3Jj
ZUZ1bGxEYW1hZ2VOZXh0VXBkYXRlKSB7CisgICAgICAgIG1fY3VycmVudERhbWFnZVJlY3QgPSBG
bG9hdFJlY3QobGF5ZXItPnRhcmdldFJlbmRlclN1cmZhY2UoKS0+Y29udGVudFJlY3QoKSk7Cisg
ICAgICAgIG1fZm9yY2VGdWxsRGFtYWdlTmV4dFVwZGF0ZSA9IGZhbHNlOworICAgICAgICByZXR1
cm47CisgICAgfQorCiAgICAgRmxvYXRSZWN0IGRhbWFnZUZyb21BY3RpdmVMYXllcnMgPSBjb21w
dXRlRGFtYWdlRnJvbUFjdGl2ZUxheWVycyhsYXllckxpc3QsIHRhcmdldFN1cmZhY2VMYXllcklE
KTsKICAgICBGbG9hdFJlY3QgZGFtYWdlRnJvbVN1cmZhY2VNYXNrID0gY29tcHV0ZURhbWFnZUZy
b21TdXJmYWNlTWFzayh0YXJnZXRTdXJmYWNlTWFza0xheWVyKTsKICAgICBGbG9hdFJlY3QgZGFt
YWdlRnJvbUxlZnRvdmVyUmVjdHMgPSBjb21wdXRlRGFtYWdlRnJvbUxlZnRvdmVyUmVjdHMoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDRGFtYWdlVHJhY2tlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NEYW1hZ2VUcmFja2VyLmgKaW5kZXggNDJlYjQ0OGMwMmMyZDAyMTM0ZmQ0NWNl
YWZhOWUwNjJiZTBkNzJmZS4uYWMxYTBjYTIwYzhlNGFiMjIxNmM5MzFjNjJkZGZlODg4Y2M2OTk1
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NEYW1hZ2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFja2VyLmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzT3duUHRyPENDRGFtYWdlVHJhY2tlcj4gY3JlYXRlKCk7CiAgICAg
fkNDRGFtYWdlVHJhY2tlcigpOwogCisgICAgdm9pZCBmb3JjZUZ1bGxEYW1hZ2VOZXh0VXBkYXRl
KCkgeyBtX2ZvcmNlRnVsbERhbWFnZU5leHRVcGRhdGUgPSB0cnVlOyB9CiAgICAgdm9pZCB1cGRh
dGVEYW1hZ2VSZWN0Rm9yTmV4dEZyYW1lKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q0NMYXllckltcGw+
ID4mIGxheWVyTGlzdCwgaW50IHRhcmdldFN1cmZhY2VMYXllcklELCBDQ0xheWVySW1wbCogdGFy
Z2V0U3VyZmFjZU1hc2tMYXllcik7CiAgICAgY29uc3QgRmxvYXRSZWN0JiBjdXJyZW50RGFtYWdl
UmVjdCgpIHsgcmV0dXJuIG1fY3VycmVudERhbWFnZVJlY3Q7IH0KIApAQCAtNjgsNiArNjksNyBA
QCBwcml2YXRlOgogICAgIE93blB0cjxSZWN0TWFwPiBtX25leHRSZWN0SGlzdG9yeTsKIAogICAg
IEZsb2F0UmVjdCBtX2N1cnJlbnREYW1hZ2VSZWN0OworICAgIGJvb2wgbV9mb3JjZUZ1bGxEYW1h
Z2VOZXh0VXBkYXRlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAppbmRleCA2YzJjNzQyNmZjMGI5NTAwMWRlZWU4YTcw
OTRlYzljZDhmNTBjOTVmLi5jMjJhMmFiMDgyYmU3MjAzY2M2YjljMWU1ZGE0MmJmZjlhYjUwNmJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcApAQCAtMzM5LDYgKzMz
OSwxMCBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdEltcGw6OnNldFZpc2libGUoYm9vbCB2aXNpYmxl
KQogCiAgICAgaWYgKG1fbGF5ZXJSZW5kZXJlcikKICAgICAgICAgbV9sYXllclJlbmRlcmVyLT5z
ZXRWaXNpYmxlKHZpc2libGUpOworCisgICAgLy8gSWYgd2UganVzdCBiZWNhbWUgdmlzaWJsZSwg
YW5kIGlmIHRoZXJlIGlzIGFuIGV4aXN0aW5nIHJvb3QgbGF5ZXIgc3VyZmFjZSwgdGhlbiB3ZSBz
aG91bGQgbWFyayB0aGUgZW50aXJlIHJvb3Qgc3VyZmFjZSBhcyBkYW1hZ2VkLgorICAgIGlmICht
X3Zpc2libGUgJiYgcm9vdExheWVyKCkgJiYgcm9vdExheWVyLT5yZW5kZXJTdXJmYWNlKCkpCisg
ICAgICAgIHJvb3RMYXllcigpLT5yZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Zm9y
Y2VGdWxsRGFtYWdlTmV4dFVwZGF0ZSgpOwogfQogCiBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6
OmluaXRpYWxpemVMYXllclJlbmRlcmVyKFBhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNv
bnRleHQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125442</attachid>
            <date>2012-02-03 15:59:36 -0800</date>
            <delta_ts>2012-02-04 22:14:05 -0800</delta_ts>
            <desc>Patch with unit test</desc>
            <filename>bug-76805-20120203155935.patch</filename>
            <type>text/plain</type>
            <size>6553</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQ2MzllMmYxNzU1Mzc1
YzU3M2NkMmJhZGU4YjA4MDBjMjg2ZGUzNi4uZDdkMDQ4Yzg4MDNhN2JmNmYyYjAxMmZhMzk5YzBh
YzBiMWZmMThjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAyLTAzICBTaGF3
biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0g
QWRkIHN1cHBvcnQgdG8gZm9yY2UgZnVsbCBkYW1hZ2UgaW4gQ0NEYW1hZ2VUcmFja2VyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgwNQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuaXQgdGVzdCBhZGRl
ZCB0byBDQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcC4KKworICAgICAgICBUaGlzIGZlYXR1cmUgaXMg
bmVlZGVkIGZvciBldmVudHMgdGhhdCBzaG91bGQgY2F1c2UgdGhlIGVudGlyZQorICAgICAgICBz
dXJmYWNlIHRvIGJlIGRhbWFnZWQsIGV2ZW4gaWYgbGF5ZXJzIHRoZW1zZWx2ZXMgaGFkIG9ubHkg
cGFydGlhbAorICAgICAgICBkYW1hZ2Ugb3Igbm8gZGFtYWdlIGF0IGFsbC4gRm9yIGV4YW1wbGUs
IHRhYi1zd2l0Y2hpbmcgaXMgb25lIHN1Y2gKKyAgICAgICAgZXZlbnQuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q0NEYW1hZ2VUcmFja2VyOjpDQ0RhbWFnZVRyYWNrZXIpOgorICAgICAgICAo
V2ViQ29yZTo6Q0NEYW1hZ2VUcmFja2VyOjp1cGRhdGVEYW1hZ2VSZWN0Rm9yTmV4dEZyYW1lKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNDRGFtYWdlVHJhY2tlcjo6Zm9yY2VGdWxsRGFtYWdlTmV4
dFVwZGF0ZSk6CisgICAgICAgIChDQ0RhbWFnZVRyYWNrZXIpOgorCiAyMDEyLTAyLTAzICBCYWxh
enMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAogICAgICAgICBTcGVjdWxhdGl2ZSB1
bnJldmlld2VkIGJ1aWxkIGZpeCBmb3IgUXQtV2luZG93cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwppbmRleCAwYTRjZWQ0YWZhOGM1OWRkY2M3MmU0NjIzMTUyODQzZGQ5NGU2ZmQ0Li45NTY0NDI4
ZmQ5ZDk5YTE0MWFhOTFlY2YzNTE5NjUwM2FiMGFiNjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAyLTAzICBTaGF3biBTaW5naCAgPHNoYXduc2lu
Z2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkIHN1cHBvcnQgdG8gZm9y
Y2UgZnVsbCBkYW1hZ2UgaW4gQ0NEYW1hZ2VUcmFja2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHA6
CisgICAgICAgIChXZWJLaXRUZXN0czo6VEVTVF9GKToKKyAgICAgICAgKFdlYktpdFRlc3RzKToK
KwogMjAxMi0wMi0wMyAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbQ2hyb21pdW1dIFVzZSB0aGUgY3VycmVudCBjbGlwIHdoZW4gbWFya2luZyBwYWludHMg
YXMgb3BhcXVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFja2VyLmNwcAppbmRleCAxNzIyNmFhODIw
OTEwMTkzOThhZWRjMmJjMzAwZDc5MTE4ZjNmYTZkLi42ZTU2MmUxZmFlZjcwNDc5YzM0ODAyMDU1
ZjNlYTJiNjQ1OTUwNmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHAKQEAgLTQ2
LDYgKzQ2LDcgQEAgUGFzc093blB0cjxDQ0RhbWFnZVRyYWNrZXI+IENDRGFtYWdlVHJhY2tlcjo6
Y3JlYXRlKCkKIH0KIAogQ0NEYW1hZ2VUcmFja2VyOjpDQ0RhbWFnZVRyYWNrZXIoKQorICAgIDog
bV9mb3JjZUZ1bGxEYW1hZ2VOZXh0VXBkYXRlKGZhbHNlKQogewogICAgIG1fY3VycmVudFJlY3RI
aXN0b3J5ID0gYWRvcHRQdHIobmV3IFJlY3RNYXApOwogICAgIG1fbmV4dFJlY3RIaXN0b3J5ID0g
YWRvcHRQdHIobmV3IFJlY3RNYXApOwpAQCAtMTI1LDYgKzEyNiw3IEBAIHZvaWQgQ0NEYW1hZ2VU
cmFja2VyOjp1cGRhdGVEYW1hZ2VSZWN0Rm9yTmV4dEZyYW1lKGNvbnN0IFZlY3RvcjxSZWZQdHI8
Q0NMYXllckltCiAgICAgQ0NMYXllckltcGwqIGxheWVyID0gbGF5ZXJMaXN0WzBdLmdldCgpOwog
ICAgIGlmIChsYXllci0+dGFyZ2V0UmVuZGVyU3VyZmFjZSgpLT5zdXJmYWNlUHJvcGVydHlDaGFu
Z2VkT25seUZyb21EZXNjZW5kYW50KCkpIHsKICAgICAgICAgbV9jdXJyZW50RGFtYWdlUmVjdCA9
IEZsb2F0UmVjdChsYXllci0+dGFyZ2V0UmVuZGVyU3VyZmFjZSgpLT5jb250ZW50UmVjdCgpKTsK
KyAgICAgICAgLy8gRklYTUU6IHRoaXMgZWFybHkgZXhpdCBpcyBpbmNvcnJlY3Q6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyNAogICAgICAgICByZXR1cm47CiAg
ICAgfQogCkBAIC0xMzIsOSArMTM0LDE0IEBAIHZvaWQgQ0NEYW1hZ2VUcmFja2VyOjp1cGRhdGVE
YW1hZ2VSZWN0Rm9yTmV4dEZyYW1lKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q0NMYXllckltCiAgICAg
RmxvYXRSZWN0IGRhbWFnZUZyb21TdXJmYWNlTWFzayA9IGNvbXB1dGVEYW1hZ2VGcm9tU3VyZmFj
ZU1hc2sodGFyZ2V0U3VyZmFjZU1hc2tMYXllcik7CiAgICAgRmxvYXRSZWN0IGRhbWFnZUZyb21M
ZWZ0b3ZlclJlY3RzID0gY29tcHV0ZURhbWFnZUZyb21MZWZ0b3ZlclJlY3RzKCk7CiAKLSAgICBt
X2N1cnJlbnREYW1hZ2VSZWN0ID0gZGFtYWdlRnJvbUFjdGl2ZUxheWVyczsKLSAgICBtX2N1cnJl
bnREYW1hZ2VSZWN0LnVuaXRlSWZOb25aZXJvKGRhbWFnZUZyb21TdXJmYWNlTWFzayk7Ci0gICAg
bV9jdXJyZW50RGFtYWdlUmVjdC51bml0ZUlmTm9uWmVybyhkYW1hZ2VGcm9tTGVmdG92ZXJSZWN0
cyk7CisgICAgaWYgKG1fZm9yY2VGdWxsRGFtYWdlTmV4dFVwZGF0ZSkgeworICAgICAgICBtX2N1
cnJlbnREYW1hZ2VSZWN0ID0gRmxvYXRSZWN0KGxheWVyLT50YXJnZXRSZW5kZXJTdXJmYWNlKCkt
PmNvbnRlbnRSZWN0KCkpOworICAgICAgICBtX2ZvcmNlRnVsbERhbWFnZU5leHRVcGRhdGUgPSBm
YWxzZTsKKyAgICB9IGVsc2UgeworICAgICAgICBtX2N1cnJlbnREYW1hZ2VSZWN0ID0gZGFtYWdl
RnJvbUFjdGl2ZUxheWVyczsKKyAgICAgICAgbV9jdXJyZW50RGFtYWdlUmVjdC51bml0ZUlmTm9u
WmVybyhkYW1hZ2VGcm9tU3VyZmFjZU1hc2spOworICAgICAgICBtX2N1cnJlbnREYW1hZ2VSZWN0
LnVuaXRlSWZOb25aZXJvKGRhbWFnZUZyb21MZWZ0b3ZlclJlY3RzKTsKKyAgICB9CiAKICAgICAv
LyBUaGUgbmV4dCBoaXN0b3J5IG1hcCBiZWNvbWVzIHRoZSBjdXJyZW50IG1hcCBmb3IgdGhlIG5l
eHQgZnJhbWUuCiAgICAgc3dhcChtX2N1cnJlbnRSZWN0SGlzdG9yeSwgbV9uZXh0UmVjdEhpc3Rv
cnkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NEYW1hZ2VUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuaAppbmRleCA0MmViNDQ4YzAyYzJkMDIxMzRm
ZDQ1Y2VhZmE5ZTA2MmJlMGQ3MmZlLi5hYzFhMGNhMjBjOGU0YWIyMjE2YzkzMWM2MmRkZmU4ODhj
YzY5OTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuaApAQCAtNDMsNiArNDMsNyBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NEYW1hZ2VUcmFja2VyPiBjcmVhdGUoKTsK
ICAgICB+Q0NEYW1hZ2VUcmFja2VyKCk7CiAKKyAgICB2b2lkIGZvcmNlRnVsbERhbWFnZU5leHRV
cGRhdGUoKSB7IG1fZm9yY2VGdWxsRGFtYWdlTmV4dFVwZGF0ZSA9IHRydWU7IH0KICAgICB2b2lk
IHVwZGF0ZURhbWFnZVJlY3RGb3JOZXh0RnJhbWUoY29uc3QgVmVjdG9yPFJlZlB0cjxDQ0xheWVy
SW1wbD4gPiYgbGF5ZXJMaXN0LCBpbnQgdGFyZ2V0U3VyZmFjZUxheWVySUQsIENDTGF5ZXJJbXBs
KiB0YXJnZXRTdXJmYWNlTWFza0xheWVyKTsKICAgICBjb25zdCBGbG9hdFJlY3QmIGN1cnJlbnRE
YW1hZ2VSZWN0KCkgeyByZXR1cm4gbV9jdXJyZW50RGFtYWdlUmVjdDsgfQogCkBAIC02OCw2ICs2
OSw3IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFJlY3RNYXA+IG1fbmV4dFJlY3RIaXN0b3J5Owog
CiAgICAgRmxvYXRSZWN0IG1fY3VycmVudERhbWFnZVJlY3Q7CisgICAgYm9vbCBtX2ZvcmNlRnVs
bERhbWFnZU5leHRVcGRhdGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcApp
bmRleCAwZjM3OWQ2NGVkYmNjNjUwNDdjOWQ3ZWI5NDM4Y2Q4M2U5ODkzMTVlLi4yNGZjZmJhZmY2
MGVmYThmNmJhOGIyMThhMzNjNDU2MDM0N2E4OWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAKQEAgLTc0OCw0ICs3NDgs
MjcgQEAgVEVTVF9GKENDRGFtYWdlVHJhY2tlclRlc3QsIHZlcmlmeURhbWFnZUZvclJlcGxpY2FN
YXNrKQogICAgIEVYUEVDVF9GTE9BVF9SRUNUX0VRKEZsb2F0UmVjdCgxOTQsIDIwMCwgNiwgOCks
IGNoaWxkRGFtYWdlUmVjdCk7CiB9CiAKK1RFU1RfRihDQ0RhbWFnZVRyYWNrZXJUZXN0LCB2ZXJp
ZnlEYW1hZ2VXaGVuUmVzZXQpCit7CisgICAgUmVmUHRyPENDTGF5ZXJJbXBsPiByb290ID0gY3Jl
YXRlQW5kU2V0VXBUZXN0VHJlZVdpdGhPbmVTdXJmYWNlKCk7CisgICAgUmVmUHRyPENDTGF5ZXJJ
bXBsPiBjaGlsZCA9IHJvb3QtPmNoaWxkcmVuKClbMF07CisKKyAgICAvLyBDYXNlIDE6IFRoaXMg
dGVzdCBlbnN1cmVzIHRoYXQgd2hlbiB0aGUgdHJhY2tlciBpcyBmb3JjZWQgdG8gaGF2ZSBmdWxs
IGRhbWFnZSwgdGhhdAorICAgIC8vICAgICAgICAgaXQgdGFrZXMgcHJpb3JpdHkgb3ZlciBhbnkg
b3RoZXIgcGFydGlhbCBkYW1hZ2UuCisgICAgLy8KKyAgICBjaGlsZC0+c2V0VXBkYXRlUmVjdChG
bG9hdFJlY3QoMTAsIDExLCAxMiwgMTMpKTsKKyAgICByb290LT5yZW5kZXJTdXJmYWNlKCktPmRh
bWFnZVRyYWNrZXIoKS0+Zm9yY2VGdWxsRGFtYWdlTmV4dFVwZGF0ZSgpOworICAgIGVtdWxhdGVE
cmF3aW5nT25lRnJhbWUocm9vdC5nZXQoKSk7CisgICAgRmxvYXRSZWN0IHJvb3REYW1hZ2VSZWN0
ID0gcm9vdC0+cmVuZGVyU3VyZmFjZSgpLT5kYW1hZ2VUcmFja2VyKCktPmN1cnJlbnREYW1hZ2VS
ZWN0KCk7CisgICAgRVhQRUNUX0ZMT0FUX1JFQ1RfRVEoRmxvYXRSZWN0KDAsIDAsIDUwMCwgNTAw
KSwgcm9vdERhbWFnZVJlY3QpOworCisgICAgLy8gQ2FzZSAyOiBBbiBhZGRpdGlvbmFsIHNhbml0
eSBjaGVjayB0aGF0IGZvcmNpbmcgZnVsbCBkYW1hZ2Ugd29ya3MgZXZlbiB3aGVuIG5vdGhpbmcK
KyAgICAvLyAgICAgICAgIG9uIHRoZSBsYXllciB0cmVlIGNoYW5nZWQuCisgICAgLy8KKyAgICBy
b290LT5yZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Zm9yY2VGdWxsRGFtYWdlTmV4
dFVwZGF0ZSgpOworICAgIGVtdWxhdGVEcmF3aW5nT25lRnJhbWUocm9vdC5nZXQoKSk7CisgICAg
cm9vdERhbWFnZVJlY3QgPSByb290LT5yZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+
Y3VycmVudERhbWFnZVJlY3QoKTsKKyAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShGbG9hdFJlY3Qo
MCwgMCwgNTAwLCA1MDApLCByb290RGFtYWdlUmVjdCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>