<?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>145788</bug_id>
          
          <creation_ts>2015-06-08 23:24:40 -0700</creation_ts>
          <short_desc>[CoordinatedGraphics] Remove RefCounted from Tile</short_desc>
          <delta_ts>2015-06-09 15:26:54 -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>WebKit EFL</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1100583</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2015-06-08 23:24:40 -0700</bug_when>
    <thetext>Tile is only used in TiledBackingStore and we don&apos;t need to use RefPtr for it since r185140</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100584</commentid>
    <comment_count>1</comment_count>
      <attachid>254550</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2015-06-08 23:38:14 -0700</bug_when>
    <thetext>Created attachment 254550
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100715</commentid>
    <comment_count>2</comment_count>
      <attachid>254550</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-09 11:17:58 -0700</bug_when>
    <thetext>Comment on attachment 254550
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/coordinated/TiledBackingStore.cpp:251
&gt; +        m_tiles.set(coordinate, std::make_unique&lt;Tile&gt;(*this, coordinate));

Should probably be add, not set.

&gt; Source/WebCore/platform/graphics/texmap/coordinated/TiledBackingStore.cpp:366
&gt;      unsigned removeCount = tilesToRemove.size();
&gt;      for (unsigned n = 0; n &lt; removeCount; ++n)

Should use modern for loop.

&gt; Source/WebCore/platform/graphics/texmap/coordinated/TiledBackingStore.cpp:385
&gt;      unsigned removeCount = toRemove.size();
&gt;      for (unsigned n = 0; n &lt; removeCount; ++n)

Should use modern for loop.

&gt; Source/WebCore/platform/graphics/texmap/coordinated/TiledBackingStore.h:91
&gt; +    typedef HashMap&lt;Tile::Coordinate, std::unique_ptr&lt;Tile&gt;&gt; TileMap;

Not even sure it’s helpful to allocate these on the heap. Maybe just Tile here instead of std::unique_ptr&lt;Tile&gt; some day.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100819</commentid>
    <comment_count>3</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2015-06-09 15:21:31 -0700</bug_when>
    <thetext>Committed r185388: &lt;http://trac.webkit.org/changeset/185388&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100822</commentid>
    <comment_count>4</comment_count>
      <attachid>254550</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2015-06-09 15:26:54 -0700</bug_when>
    <thetext>Comment on attachment 254550
Patch

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

Thanks, I landed after followed your comments except Tile allocation. clearing flags.

I tried but it was not available.

&gt;&gt; Source/WebCore/platform/graphics/texmap/coordinated/TiledBackingStore.cpp:251
&gt;&gt; +        m_tiles.set(coordinate, std::make_unique&lt;Tile&gt;(*this, coordinate));
&gt; 
&gt; Should probably be add, not set.

Thanks. I fixed.

&gt;&gt; Source/WebCore/platform/graphics/texmap/coordinated/TiledBackingStore.cpp:366
&gt;&gt;      for (unsigned n = 0; n &lt; removeCount; ++n)
&gt; 
&gt; Should use modern for loop.

Done.

&gt;&gt; Source/WebCore/platform/graphics/texmap/coordinated/TiledBackingStore.cpp:385
&gt;&gt;      for (unsigned n = 0; n &lt; removeCount; ++n)
&gt; 
&gt; Should use modern for loop.

Done.

&gt;&gt; Source/WebCore/platform/graphics/texmap/coordinated/TiledBackingStore.h:91
&gt;&gt; +    typedef HashMap&lt;Tile::Coordinate, std::unique_ptr&lt;Tile&gt;&gt; TileMap;
&gt; 
&gt; Not even sure it’s helpful to allocate these on the heap. Maybe just Tile here instead of std::unique_ptr&lt;Tile&gt; some day.

Maybe, but now Tile is not simple stucture to keep the HashMap as instance.

Anyway, I will consider it in different bug not to allocate.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254550</attachid>
            <date>2015-06-08 23:38:14 -0700</date>
            <delta_ts>2015-06-09 15:26:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145788-20150609153741.patch</filename>
            <type>text/plain</type>
            <size>9379</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY4ODdiY2Q1M2JhODAx
NDE5ZDBhZDVlMWU0YzQ5Yjk5OTgzOGM0MS4uNzZlM2M5YjU4NTYzZjRmZjM3M2FjMmUzMDk0MDBj
OGU1ZDljNjJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTA2LTA4ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBuYXZlcmNvcnAuY29tPgorCisgICAgICAgIFtDb29yZGluYXRl
ZEdyYXBoaWNzXSBSZW1vdmUgUmVmQ291bnRlZCBmcm9tIFRpbGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTc4OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNpbmNlIHIxODUxNDAsIFRpbGUgZG9lcyBu
b3QgbmVlZCB0byBiZSBSZWZDb3VudGVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVo
YXZpb3IgY2hhbmdlcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29y
ZGluYXRlZC9UaWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGU6OmNyZWF0ZSk6IERlbGV0
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGUu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZWRC
YWNraW5nU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6Omlu
dmFsaWRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OnVwZGF0ZVRp
bGVCdWZmZXJzKTogU2ltcGxpZmllcyBub3QgdG8gdXNlIHVubmVjZXNzYXJ5IFZlY3Rvci4KKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjpjb3ZlcmFnZVJhdGlvKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZTo6cmVzaXplRWRnZVRpbGVzKToKKyAgICAgICAgKFdl
YkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjpzZXRLZWVwUmVjdCk6CisgICAgICAgIChXZWJDb3Jl
OjpUaWxlZEJhY2tpbmdTdG9yZTo6dGlsZUF0KTogRGVsZXRlZCBvbmUgbGluZSB3cmFwcGVyLgor
ICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OnNldFRpbGUpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjpyZW1vdmVUaWxlKTogRGl0dG8uCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGVkQmFja2lu
Z1N0b3JlLmg6CisKIDIwMTUtMDYtMDggIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW01hY10gRW5hYmxlIEFWRm91bmRhdGlvbiBieSBkZWZhdWx0IHdo
ZW4gUVRLaXQgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGUuY3BwCmlu
ZGV4IDYwZTUyYzIwYzI1NTYxODVlNmJmOTBiZGM1OTg1ODQ3ZTQ2MTRhMjYuLjc1N2E0ZGNjMzY1
N2RjZDI0NTEyYzM5OWRmOGY5NDZhMWQzYzkzZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9UaWxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZS5jcHAK
QEAgLTM2LDExICszNiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IHVp
bnQzMl90IEludmFsaWRUaWxlSUQgPSAwOwogCi1QYXNzUmVmUHRyPFRpbGU+IFRpbGU6OmNyZWF0
ZShUaWxlZEJhY2tpbmdTdG9yZSYgdGlsZWRCYWNraW5nU3RvcmUsIGNvbnN0IENvb3JkaW5hdGUm
IHRpbGVDb29yZGluYXRlKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgVGlsZSh0aWxlZEJh
Y2tpbmdTdG9yZSwgdGlsZUNvb3JkaW5hdGUpKTsKLX0KLQogVGlsZTo6VGlsZShUaWxlZEJhY2tp
bmdTdG9yZSYgdGlsZWRCYWNraW5nU3RvcmUsIGNvbnN0IENvb3JkaW5hdGUmIHRpbGVDb29yZGlu
YXRlKQogICAgIDogbV90aWxlZEJhY2tpbmdTdG9yZSh0aWxlZEJhY2tpbmdTdG9yZSkKICAgICAs
IG1fY29vcmRpbmF0ZSh0aWxlQ29vcmRpbmF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9UaWxlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZS5oCmluZGV4IGEz
NGIyMjBmZjYwZWMxMTkyMGVlNTExYzFlNWViMzc1ODQ5ZmUzZDIuLjg2YTA4MGRhZGEyZDQ0MmFi
MDBlM2VkYTE1NzdlMjNlNWQ4N2YwNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9UaWxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGUuaApAQCAtMzgsMTIg
KzM4LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNs
YXNzIFRpbGVkQmFja2luZ1N0b3JlOwogCi1jbGFzcyBUaWxlIDogcHVibGljIFJlZkNvdW50ZWQ8
VGlsZT4sIHB1YmxpYyBDb29yZGluYXRlZFN1cmZhY2U6OkNsaWVudCB7CitjbGFzcyBUaWxlIDog
cHVibGljIENvb3JkaW5hdGVkU3VyZmFjZTo6Q2xpZW50IHsKIHB1YmxpYzoKICAgICB0eXBlZGVm
IEludFBvaW50IENvb3JkaW5hdGU7CiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxUaWxlPiBjcmVh
dGUoVGlsZWRCYWNraW5nU3RvcmUmLCBjb25zdCBDb29yZGluYXRlJik7Ci0KKyAgICBUaWxlKFRp
bGVkQmFja2luZ1N0b3JlJiwgY29uc3QgQ29vcmRpbmF0ZSYpOwogICAgIH5UaWxlKCk7CiAKICAg
ICBib29sIGlzRGlydHkoKSBjb25zdDsKQEAgLTU4LDggKzU3LDYgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBwYWludFRvU3VyZmFjZUNvbnRleHQoR3JhcGhpY3NDb250ZXh0Kikgb3ZlcnJp
ZGU7CiAKIHByaXZhdGU6Ci0gICAgVGlsZShUaWxlZEJhY2tpbmdTdG9yZSYsIGNvbnN0IENvb3Jk
aW5hdGUmKTsKLQogICAgIFRpbGVkQmFja2luZ1N0b3JlJiBtX3RpbGVkQmFja2luZ1N0b3JlOwog
ICAgIENvb3JkaW5hdGUgbV9jb29yZGluYXRlOwogICAgIEludFJlY3QgbV9yZWN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L1RpbGVkQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9UaWxlZEJhY2tpbmdTdG9yZS5jcHAKaW5kZXggOTJkMjdlNmFi
ZDA0NmY4N2Q4MWE3MWM1OGFlZDIwNjExYWQzMjZhZi4uYjNkNDM4M2QyMzEzZWVmNmJmYmJmNjZl
YzE5ZjJlODdjNTliYmNlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZWRCYWNr
aW5nU3RvcmUuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6Omlu
dmFsaWRhdGUoY29uc3QgSW50UmVjdCYgY29udGVudHNEaXJ0eVJlY3QpCiAKICAgICBmb3IgKGlu
dCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQueSgpOyB5Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC55
KCk7ICsreUNvb3JkaW5hdGUpIHsKICAgICAgICAgZm9yIChpbnQgeENvb3JkaW5hdGUgPSB0b3BM
ZWZ0LngoKTsgeENvb3JkaW5hdGUgPD0gYm90dG9tUmlnaHQueCgpOyArK3hDb29yZGluYXRlKSB7
Ci0gICAgICAgICAgICBSZWZQdHI8VGlsZT4gY3VycmVudFRpbGUgPSB0aWxlQXQoVGlsZTo6Q29v
cmRpbmF0ZSh4Q29vcmRpbmF0ZSwgeUNvb3JkaW5hdGUpKTsKKyAgICAgICAgICAgIFRpbGUqIGN1
cnJlbnRUaWxlID0gbV90aWxlcy5nZXQoVGlsZTo6Q29vcmRpbmF0ZSh4Q29vcmRpbmF0ZSwgeUNv
b3JkaW5hdGUpKTsKICAgICAgICAgICAgIGlmICghY3VycmVudFRpbGUpCiAgICAgICAgICAgICAg
ICAgY29udGludWU7CiAgICAgICAgICAgICAvLyBQYXNzIHRoZSBmdWxsIHJlY3QgdG8gZWFjaCB0
aWxlIGFzIGNvdmVyZWREaXJ0eVJlY3QgbWlnaHQgbm90CkBAIC05NSwyMiArOTUsMTYgQEAgdm9p
ZCBUaWxlZEJhY2tpbmdTdG9yZTo6aW52YWxpZGF0ZShjb25zdCBJbnRSZWN0JiBjb250ZW50c0Rp
cnR5UmVjdCkKIAogdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6dXBkYXRlVGlsZUJ1ZmZlcnMoKQog
ewotICAgIFZlY3RvcjxSZWZQdHI8VGlsZT4+IGRpcnR5VGlsZXM7Ci0gICAgZm9yIChhdXRvJiB0
aWxlIDogbV90aWxlcy52YWx1ZXMoKSkgewotICAgICAgICBpZiAoIXRpbGUtPmlzRGlydHkoKSkK
LSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBkaXJ0eVRpbGVzLmFwcGVuZCh0aWxlKTsK
LSAgICB9Ci0KLSAgICBpZiAoZGlydHlUaWxlcy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsK
LQogICAgIC8vIEZJWE1FOiBJbiBzaW5nbGUgdGhyZWFkZWQgY2FzZSwgdGlsZSBiYWNrIGJ1ZmZl
cnMgY291bGQgYmUgdXBkYXRlZCBhc3luY2hyb25vdXNseSAKICAgICAvLyBvbmUgYnkgb25lIGFu
ZCB0aGVuIHN3YXBwZWQgdG8gZnJvbnQgaW4gb25lIGdvLiBUaGlzIHdvdWxkIG1pbmltaXplIHRo
ZSB0aW1lIHNwZW50CiAgICAgLy8gYmxvY2tpbmcgb24gdGlsZSB1cGRhdGVzLgogICAgIGJvb2wg
dXBkYXRlZCA9IGZhbHNlOwotICAgIGZvciAoYXV0byYgdGlsZSA6IGRpcnR5VGlsZXMpCisgICAg
Zm9yIChhdXRvJiB0aWxlIDogbV90aWxlcy52YWx1ZXMoKSkgeworICAgICAgICBpZiAoIXRpbGUt
PmlzRGlydHkoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCiAgICAgICAgIHVwZGF0ZWQgfD0g
dGlsZS0+dXBkYXRlQmFja0J1ZmZlcigpOworICAgIH0KIAogICAgIGlmICh1cGRhdGVkKQogICAg
ICAgICBtX2NsaWVudC0+ZGlkVXBkYXRlVGlsZUJ1ZmZlcnMoKTsKQEAgLTE1NSw3ICsxNDksNyBA
QCBmbG9hdCBUaWxlZEJhY2tpbmdTdG9yZTo6Y292ZXJhZ2VSYXRpbyhjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBjb250ZW50c1JlY3QpIGNvbgogICAgIGZvciAoaW50IHlDb29yZGluYXRlID0gdG9w
TGVmdC55KCk7IHlDb29yZGluYXRlIDw9IGJvdHRvbVJpZ2h0LnkoKTsgKyt5Q29vcmRpbmF0ZSkg
ewogICAgICAgICBmb3IgKGludCB4Q29vcmRpbmF0ZSA9IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0
ZSA8PSBib3R0b21SaWdodC54KCk7ICsreENvb3JkaW5hdGUpIHsKICAgICAgICAgICAgIFRpbGU6
OkNvb3JkaW5hdGUgY3VycmVudENvb3JkaW5hdGUoeENvb3JkaW5hdGUsIHlDb29yZGluYXRlKTsK
LSAgICAgICAgICAgIFJlZlB0cjxUaWxlPiBjdXJyZW50VGlsZSA9IHRpbGVBdChjdXJyZW50Q29v
cmRpbmF0ZSk7CisgICAgICAgICAgICBUaWxlKiBjdXJyZW50VGlsZSA9IG1fdGlsZXMuZ2V0KGN1
cnJlbnRDb29yZGluYXRlKTsKICAgICAgICAgICAgIGlmIChjdXJyZW50VGlsZSAmJiBjdXJyZW50
VGlsZS0+aXNSZWFkeVRvUGFpbnQoKSkgewogICAgICAgICAgICAgICAgIEludFJlY3QgY292ZXJS
ZWN0ID0gaW50ZXJzZWN0aW9uKGRpcnR5UmVjdCwgY3VycmVudFRpbGUtPnJlY3QoKSk7CiAgICAg
ICAgICAgICAgICAgY292ZXJBcmVhICs9IGNvdmVyUmVjdC53aWR0aCgpICogY292ZXJSZWN0Lmhl
aWdodCgpOwpAQCAtMjM2LDcgKzIzMCw3IEBAIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmNyZWF0
ZVRpbGVzKCkKICAgICBmb3IgKGludCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQueSgpOyB5Q29vcmRp
bmF0ZSA8PSBib3R0b21SaWdodC55KCk7ICsreUNvb3JkaW5hdGUpIHsKICAgICAgICAgZm9yIChp
bnQgeENvb3JkaW5hdGUgPSB0b3BMZWZ0LngoKTsgeENvb3JkaW5hdGUgPD0gYm90dG9tUmlnaHQu
eCgpOyArK3hDb29yZGluYXRlKSB7CiAgICAgICAgICAgICBUaWxlOjpDb29yZGluYXRlIGN1cnJl
bnRDb29yZGluYXRlKHhDb29yZGluYXRlLCB5Q29vcmRpbmF0ZSk7Ci0gICAgICAgICAgICBpZiAo
dGlsZUF0KGN1cnJlbnRDb29yZGluYXRlKSkKKyAgICAgICAgICAgIGlmIChtX3RpbGVzLmNvbnRh
aW5zKGN1cnJlbnRDb29yZGluYXRlKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgICAgICsrcmVxdWlyZWRUaWxlQ291bnQ7CiAgICAgICAgICAgICBkb3VibGUgZGlzdGFuY2Ug
PSB0aWxlRGlzdGFuY2UobV92aXNpYmxlUmVjdCwgY3VycmVudENvb3JkaW5hdGUpOwpAQCAtMjU0
LDcgKzI0OCw3IEBAIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmNyZWF0ZVRpbGVzKCkKICAgICB1
bnNpZ25lZCB0aWxlc1RvQ3JlYXRlQ291bnQgPSB0aWxlc1RvQ3JlYXRlLnNpemUoKTsKICAgICBm
b3IgKHVuc2lnbmVkIG4gPSAwOyBuIDwgdGlsZXNUb0NyZWF0ZUNvdW50OyArK24pIHsKICAgICAg
ICAgVGlsZTo6Q29vcmRpbmF0ZSBjb29yZGluYXRlID0gdGlsZXNUb0NyZWF0ZVtuXTsKLSAgICAg
ICAgc2V0VGlsZShjb29yZGluYXRlLCBUaWxlOjpjcmVhdGUoKnRoaXMsIGNvb3JkaW5hdGUpKTsK
KyAgICAgICAgbV90aWxlcy5zZXQoY29vcmRpbmF0ZSwgc3RkOjptYWtlX3VuaXF1ZTxUaWxlPigq
dGhpcywgY29vcmRpbmF0ZSkpOwogICAgIH0KICAgICByZXF1aXJlZFRpbGVDb3VudCAtPSB0aWxl
c1RvQ3JlYXRlQ291bnQ7CiAKQEAgLTM3MCw3ICszNjQsNyBAQCBib29sIFRpbGVkQmFja2luZ1N0
b3JlOjpyZXNpemVFZGdlVGlsZXMoKQogICAgIH0KICAgICB1bnNpZ25lZCByZW1vdmVDb3VudCA9
IHRpbGVzVG9SZW1vdmUuc2l6ZSgpOwogICAgIGZvciAodW5zaWduZWQgbiA9IDA7IG4gPCByZW1v
dmVDb3VudDsgKytuKQotICAgICAgICByZW1vdmVUaWxlKHRpbGVzVG9SZW1vdmVbbl0pOworICAg
ICAgICBtX3RpbGVzLnJlbW92ZSh0aWxlc1RvUmVtb3ZlW25dKTsKICAgICByZXR1cm4gd2FzUmVz
aXplZDsKIH0KIApAQCAtMzg5LDcgKzM4Myw3IEBAIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OnNl
dEtlZXBSZWN0KGNvbnN0IEludFJlY3QmIGtlZXBSZWN0KQogICAgIH0KICAgICB1bnNpZ25lZCBy
ZW1vdmVDb3VudCA9IHRvUmVtb3ZlLnNpemUoKTsKICAgICBmb3IgKHVuc2lnbmVkIG4gPSAwOyBu
IDwgcmVtb3ZlQ291bnQ7ICsrbikKLSAgICAgICAgcmVtb3ZlVGlsZSh0b1JlbW92ZVtuXSk7Cisg
ICAgICAgIG1fdGlsZXMucmVtb3ZlKHRvUmVtb3ZlW25dKTsKIAogICAgIG1fa2VlcFJlY3QgPSBr
ZWVwUmVjdDsKIH0KQEAgLTQwMCwyMSArMzk0LDYgQEAgdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6
cmVtb3ZlQWxsTm9uVmlzaWJsZVRpbGVzKCkKICAgICBzZXRLZWVwUmVjdChib3VuZGVkVmlzaWJs
ZVJlY3QpOwogfQogCi1QYXNzUmVmUHRyPFRpbGU+IFRpbGVkQmFja2luZ1N0b3JlOjp0aWxlQXQo
Y29uc3QgVGlsZTo6Q29vcmRpbmF0ZSYgY29vcmRpbmF0ZSkgY29uc3QKLXsKLSAgICByZXR1cm4g
bV90aWxlcy5nZXQoY29vcmRpbmF0ZSk7Ci19Ci0KLXZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OnNl
dFRpbGUoY29uc3QgVGlsZTo6Q29vcmRpbmF0ZSYgY29vcmRpbmF0ZSwgUGFzc1JlZlB0cjxUaWxl
PiB0aWxlKQotewotICAgIG1fdGlsZXMuc2V0KGNvb3JkaW5hdGUsIHRpbGUpOwotfQotCi12b2lk
IFRpbGVkQmFja2luZ1N0b3JlOjpyZW1vdmVUaWxlKGNvbnN0IFRpbGU6OkNvb3JkaW5hdGUmIGNv
b3JkaW5hdGUpCi17Ci0gICAgbV90aWxlcy5yZW1vdmUoY29vcmRpbmF0ZSk7Ci19Ci0KIEludFJl
Y3QgVGlsZWRCYWNraW5nU3RvcmU6Om1hcFRvQ29udGVudHMoY29uc3QgSW50UmVjdCYgcmVjdCkg
Y29uc3QKIHsKICAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChGbG9hdFJlY3QocmVjdC54KCkg
LyBtX2NvbnRlbnRzU2NhbGUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZWRCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9UaWxlZEJhY2tpbmdT
dG9yZS5oCmluZGV4IDM2ZmEyNzgyODNjYTlmZDFlMzQwOGJiMDc0YzMxNTUyOTQ3YzY1MzQuLjU0
Mzc4MGMyMGI4NzFmNmZkNTFhM2RhZGEwZDEyNWUwNjQ4ODdjYzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9UaWxlZEJhY2tp
bmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVk
ZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTc5LDEwICs3OCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRDb3ZlclJlY3QoY29u
c3QgSW50UmVjdCYgcmVjdCkgeyBtX2NvdmVyUmVjdCA9IHJlY3Q7IH0KICAgICB2b2lkIHNldEtl
ZXBSZWN0KGNvbnN0IEludFJlY3QmKTsKIAotICAgIFBhc3NSZWZQdHI8VGlsZT4gdGlsZUF0KGNv
bnN0IFRpbGU6OkNvb3JkaW5hdGUmKSBjb25zdDsKLSAgICB2b2lkIHNldFRpbGUoY29uc3QgVGls
ZTo6Q29vcmRpbmF0ZSYsIFBhc3NSZWZQdHI8VGlsZT4pOwotICAgIHZvaWQgcmVtb3ZlVGlsZShj
b25zdCBUaWxlOjpDb29yZGluYXRlJik7Ci0KICAgICBJbnRSZWN0IHZpc2libGVSZWN0KCkgY29u
c3Q7CiAKICAgICBmbG9hdCBjb3ZlcmFnZVJhdGlvKGNvbnN0IEludFJlY3QmKSBjb25zdDsKQEAg
LTkzLDcgKzg4LDcgQEAgcHJpdmF0ZToKIHByaXZhdGU6CiAgICAgVGlsZWRCYWNraW5nU3RvcmVD
bGllbnQqIG1fY2xpZW50OwogCi0gICAgdHlwZWRlZiBIYXNoTWFwPFRpbGU6OkNvb3JkaW5hdGUs
IFJlZlB0cjxUaWxlPiA+IFRpbGVNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFRpbGU6OkNvb3Jk
aW5hdGUsIHN0ZDo6dW5pcXVlX3B0cjxUaWxlPj4gVGlsZU1hcDsKICAgICBUaWxlTWFwIG1fdGls
ZXM7CiAKICAgICBJbnRTaXplIG1fdGlsZVNpemU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>