<?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>82091</bug_id>
          
          <creation_ts>2012-03-23 14:11:08 -0700</creation_ts>
          <short_desc>[chromium] Move recursive renderSurface clearing to CCLayerTreeHostImpl</short_desc>
          <delta_ts>2012-04-04 15:23:55 -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>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="Shawn Singh">shawnsingh</reporter>
          <assigned_to name="Shawn Singh">shawnsingh</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>586725</commentid>
    <comment_count>0</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-03-23 14:11:08 -0700</bug_when>
    <thetext>There are a few &quot;unclear&quot; (pun blatantly intended) function names - clearRenderSurface() and clearRenderSurfacesOnCCLayerImplRecursive() and their corresponding functions on CCLayerImpl, too.

For readability, we should use more descriptive function names...
  - LayerRendererChromium::clearSurfaceContents()
  - LayerRendererChromium::clearRenderSurfacePointers()
  - CCLayerImpl::clearRenderSurfacePointer()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594690</commentid>
    <comment_count>1</comment_count>
      <attachid>135377</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-04-03 11:41:44 -0700</bug_when>
    <thetext>Created attachment 135377
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594691</commentid>
    <comment_count>2</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-04-03 11:42:18 -0700</bug_when>
    <thetext>Hi James, just one more clean-up for today, if it meets your approval =)  Thanks in advance</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594915</commentid>
    <comment_count>3</comment_count>
      <attachid>135377</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-03 14:45:51 -0700</bug_when>
    <thetext>Comment on attachment 135377
Patch

These functions have the same name, but they&apos;re in very different types so I&apos;m not sure there is much risk of confusion.  I think clearFoo() is fairly well established for clearing an m_foo pointer.

I think a better way to disambiguate LayerRendererChromium would be to move this function up to CCLayerTreeHostImpl, where it would fit better</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595072</commentid>
    <comment_count>4</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-04-03 17:46:56 -0700</bug_when>
    <thetext>OK sounds good.  That means that LRC::close() will also get removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595077</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-03 17:52:03 -0700</bug_when>
    <thetext>Yes, exactly.  LayerRendererChromium should be dealing only with GL calls, so &apos;clear&apos; in that file should always mean something like &quot;do a glClear()&quot;.  All layer tree lifetime / ownership issues for the impl thread should be dealt with up on CCLayerTreeHostImpl, and CCLayerTreeHostImpl shouldn&apos;t know anything about GL, so &apos;clear&apos; up there should always be doing something to a smart pointer type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595928</commentid>
    <comment_count>6</comment_count>
      <attachid>135679</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-04-04 14:17:03 -0700</bug_when>
    <thetext>Created attachment 135679
Patch

Tested all layout tests and unit tests on linux, no obvious regressions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595960</commentid>
    <comment_count>7</comment_count>
      <attachid>135679</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-04 14:42:56 -0700</bug_when>
    <thetext>Comment on attachment 135679
Patch

Nice</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595962</commentid>
    <comment_count>8</comment_count>
      <attachid>135679</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-04-04 14:43:46 -0700</bug_when>
    <thetext>Comment on attachment 135679
Patch

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596019</commentid>
    <comment_count>9</comment_count>
      <attachid>135679</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 15:23:50 -0700</bug_when>
    <thetext>Comment on attachment 135679
Patch

Clearing flags on attachment: 135679

Committed r113248: &lt;http://trac.webkit.org/changeset/113248&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596020</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 15:23:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135377</attachid>
            <date>2012-04-03 11:41:44 -0700</date>
            <delta_ts>2012-04-04 14:17:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82091-20120403114141.patch</filename>
            <type>text/plain</type>
            <size>10640</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWYyZDg0NWQ0NjQwNDI4
ZDU3MGE3Yjk3YTE3MmJkNmI4MzVmYmQxOS4uYTNkNWE2ZWFlMmFlZDUzYWEzNTM0MDc2ZDhlNmU1
MTEwYWM5ZGE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA0LTAzICBTaGF3
biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0g
UmVuYW1lIGZ1bmN0aW9ucyB0byBhdm9pZCBhbWJpZ3VpdHkgb2YgdGhlIHdvcmQgY2xlYXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgyMDkxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gdGVzdHMgbmVl
ZGVkLCBubyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgVGhlIHdvcmQgImNsZWFyIiBj
YW4gbWVhbiAicmVsZWFzZSBhIHBvaW50ZXIiIG9yICJlcmFzZSBjb250ZW50cworICAgICAgICBv
ZiBhIGxheWVyIi4gSXQgaXMgbWlzbGVhZGluZyBhbmQgY29uZnVzaW5nIHRvIGhhdmUgdGhpcyBh
bWJpZ3VpdHkKKyAgICAgICAgd2hlbiByZWFkaW5nIHRoZSBjb2RlLiBUaGlzIHBhdGNoIHJlLW5h
bWVzIGEgZmV3IGZ1bmN0aW9ucyBzbyB0aGF0CisgICAgICAgIHRoZXkgYXJlIG5vdCBhbWJpZ3Vv
dXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVy
Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNocm9taXVtOjp+
R3JhcGhpY3NMYXllckNocm9taXVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllckNocm9taXVtLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjpj
bGVhclJlbmRlclN1cmZhY2VQb2ludGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJSZW5kZXJlckNocm9taXVtOjpjbGVhclJlbmRlclN1cmZhY2VQb2ludGVyc09uQ0NMYXllcklt
cGxSZWN1cnNpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpj
bG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmNsZWFyUmVu
ZGVyU3VyZmFjZUNvbnRlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJv
bWl1bTo6ZHJhd1JlbmRlclBhc3MpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oOgorICAgICAgICAoTGF5ZXJSZW5kZXJlckNocm9t
aXVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1w
bC5oOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OmNsZWFyUmVuZGVyU3VyZmFjZVBv
aW50ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJU
cmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OmNsZWFyUGVu
ZGluZ1VwZGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllclRyZWVIb3N0Q29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhbGN1bGF0ZURyYXdU
cmFuc2Zvcm1zQW5kVmlzaWJpbGl0eUludGVybmFsKToKKwogMjAxMi0wNC0wMyAgSmlhIFB1ICA8
anB1QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGlu
ZUZvclRleHRDaGVja2luZygpIHRvIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JEb2N1bWVu
dE1hcmtlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcAppbmRleCBkYjBi
YTFjMmM5ZDIyNDkyY2M1MjliZmMxMmE1MmRlOTM2MGZmNGI3Li5lM2FmYWIxZjIwYTMxMDcyMzIy
NmE2ZmM0YjA4NDI5YmVhMTkwOGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1
bS5jcHAKQEAgLTg5LDE3ICs4OSwxNyBAQCBHcmFwaGljc0xheWVyQ2hyb21pdW06On5HcmFwaGlj
c0xheWVyQ2hyb21pdW0oKQogewogICAgIGlmIChtX2xheWVyKSB7CiAgICAgICAgIG1fbGF5ZXIt
PmNsZWFyRGVsZWdhdGUoKTsKLSAgICAgICAgbV9sYXllci0+Y2xlYXJSZW5kZXJTdXJmYWNlKCk7
CisgICAgICAgIG1fbGF5ZXItPmNsZWFyUmVuZGVyU3VyZmFjZVBvaW50ZXIoKTsKICAgICAgICAg
Ly8gUHJpbWFyeSBsYXllciBtYXkgaGF2ZSBhdCBvbmUgcG9pbnQgYmVlbiBtX2xheWVyLiBCZSBz
dXJlIHRvIHJlc2V0CiAgICAgICAgIC8vIHRoZSBkZWxlZ2F0ZSwganVzdCBpbiBjYXNlLgogICAg
ICAgICBtX2xheWVyLT5zZXRMYXllckFuaW1hdGlvbkRlbGVnYXRlKDApOwogICAgIH0KIAogICAg
IGlmIChtX2NvbnRlbnRzTGF5ZXIpCi0gICAgICAgIG1fY29udGVudHNMYXllci0+Y2xlYXJSZW5k
ZXJTdXJmYWNlKCk7CisgICAgICAgIG1fY29udGVudHNMYXllci0+Y2xlYXJSZW5kZXJTdXJmYWNl
UG9pbnRlcigpOwogCiAgICAgaWYgKG1fdHJhbnNmb3JtTGF5ZXIpIHsKLSAgICAgICAgbV90cmFu
c2Zvcm1MYXllci0+Y2xlYXJSZW5kZXJTdXJmYWNlKCk7CisgICAgICAgIG1fdHJhbnNmb3JtTGF5
ZXItPmNsZWFyUmVuZGVyU3VyZmFjZVBvaW50ZXIoKTsKICAgICAgICAgLy8gUHJpbWFyeSBsYXll
ciBtYXkgaGF2ZSBzd2l0Y2hlZCBmcm9tIG1fbGF5ZXIgdG8gbV90cmFuc2Zvcm1MYXllci4KICAg
ICAgICAgLy8gQmUgc3VyZSB0byByZXNldCB0aGUgZGVsZWdhdGUsIGp1c3QgaW4gY2FzZS4KICAg
ICAgICAgbV90cmFuc2Zvcm1MYXllci0+c2V0TGF5ZXJBbmltYXRpb25EZWxlZ2F0ZSgwKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
Q2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyQ2hyb21pdW0uaAppbmRleCBiOTgwMjJiNTJkYTU4YjkxOTdjYmY1NDQ4Y2I2ZDQwYTlhMDdj
MjcwLi40Mzg4NjVmMTIzYWU3ZjQxYjZlZjk2NzA0YmNjNTU0MTVjZjRhYmU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVt
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJD
aHJvbWl1bS5oCkBAIC0xODgsNyArMTg4LDcgQEAgcHVibGljOgogCiAgICAgdHlwZWRlZiBQcm9n
cmFtQmluZGluZzxWZXJ0ZXhTaGFkZXJQb3MsIEZyYWdtZW50U2hhZGVyQ29sb3I+IEJvcmRlclBy
b2dyYW07CiAKLSAgICB2b2lkIGNsZWFyUmVuZGVyU3VyZmFjZSgpIHsgbV9yZW5kZXJTdXJmYWNl
LmNsZWFyKCk7IH0KKyAgICB2b2lkIGNsZWFyUmVuZGVyU3VyZmFjZVBvaW50ZXIoKSB7IG1fcmVu
ZGVyU3VyZmFjZS5jbGVhcigpOyB9CiAgICAgUmVuZGVyU3VyZmFjZUNocm9taXVtKiByZW5kZXJT
dXJmYWNlKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJTdXJmYWNlLmdldCgpOyB9CiAgICAgdm9p
ZCBjcmVhdGVSZW5kZXJTdXJmYWNlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uY3BwCmluZGV4IGNjYjFkZDhkMGIyOWMzNzIyMTMzZmFiNmRkODM1YTliNDgyOGJiMTAuLmVj
ZWNlZTg1YmQzMDBiNjI4MDZmNDRmMTcxZDc2YWEzZGZiMDMxZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5
ZXJSZW5kZXJlckNocm9taXVtLmNwcApAQCAtMzIwLDE3ICszMjAsMTcgQEAgTGF5ZXJSZW5kZXJl
ckNocm9taXVtOjp+TGF5ZXJSZW5kZXJlckNocm9taXVtKCkKICAgICBjbGVhbnVwU2hhcmVkT2Jq
ZWN0cygpOwogfQogCi12b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6Y2xlYXJSZW5kZXJTdXJm
YWNlc09uQ0NMYXllckltcGxSZWN1cnNpdmUoQ0NMYXllckltcGwqIGxheWVyKQordm9pZCBMYXll
clJlbmRlcmVyQ2hyb21pdW06OmNsZWFyUmVuZGVyU3VyZmFjZVBvaW50ZXJzT25DQ0xheWVySW1w
bFJlY3Vyc2l2ZShDQ0xheWVySW1wbCogbGF5ZXIpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBsYXllci0+Y2hpbGRyZW4oKS5zaXplKCk7ICsraSkKLSAgICAgICAgY2xlYXJSZW5kZXJT
dXJmYWNlc09uQ0NMYXllckltcGxSZWN1cnNpdmUobGF5ZXItPmNoaWxkcmVuKClbaV0uZ2V0KCkp
OwotICAgIGxheWVyLT5jbGVhclJlbmRlclN1cmZhY2UoKTsKKyAgICAgICAgY2xlYXJSZW5kZXJT
dXJmYWNlUG9pbnRlcnNPbkNDTGF5ZXJJbXBsUmVjdXJzaXZlKGxheWVyLT5jaGlsZHJlbigpW2ld
LmdldCgpKTsKKyAgICBsYXllci0+Y2xlYXJSZW5kZXJTdXJmYWNlUG9pbnRlcigpOwogfQogCiB2
b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6Y2xvc2UoKQogewogICAgIGlmIChyb290TGF5ZXIo
KSkKLSAgICAgICAgY2xlYXJSZW5kZXJTdXJmYWNlc09uQ0NMYXllckltcGxSZWN1cnNpdmUocm9v
dExheWVyKCkpOworICAgICAgICBjbGVhclJlbmRlclN1cmZhY2VQb2ludGVyc09uQ0NMYXllcklt
cGxSZWN1cnNpdmUocm9vdExheWVyKCkpOwogfQogCiBHcmFwaGljc0NvbnRleHQzRCogTGF5ZXJS
ZW5kZXJlckNocm9taXVtOjpjb250ZXh0KCkKQEAgLTM3Myw3ICszNzMsNyBAQCB2b2lkIExheWVy
UmVuZGVyZXJDaHJvbWl1bTo6dmlld3BvcnRDaGFuZ2VkKCkKICAgICBtX2N1cnJlbnRSZW5kZXJT
dXJmYWNlID0gMDsKIH0KIAotdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmNsZWFyUmVuZGVy
U3VyZmFjZShDQ1JlbmRlclN1cmZhY2UqIHJlbmRlclN1cmZhY2UsIENDUmVuZGVyU3VyZmFjZSog
cm9vdFJlbmRlclN1cmZhY2UsIGNvbnN0IEZsb2F0UmVjdCYgc3VyZmFjZURhbWFnZVJlY3QpCit2
b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6Y2xlYXJSZW5kZXJTdXJmYWNlQ29udGVudHMoQ0NS
ZW5kZXJTdXJmYWNlKiByZW5kZXJTdXJmYWNlLCBDQ1JlbmRlclN1cmZhY2UqIHJvb3RSZW5kZXJT
dXJmYWNlLCBjb25zdCBGbG9hdFJlY3QmIHN1cmZhY2VEYW1hZ2VSZWN0KQogewogICAgIC8vIE5v
bi1yb290IGxheWVycyBzaG91bGQgY2xlYXIgdGhlaXIgZW50aXJlIGNvbnRlbnRzIHRvIHRyYW5z
cGFyZW50LiBPbiBERUJVRyBidWlsZHMsIHRoZSByb290IGxheWVyCiAgICAgLy8gaXMgY2xlYXJl
ZCB0byBibHVlIHRvIGVhc2lseSBzZWUgcmVnaW9ucyB0aGF0IHdlcmUgbm90IGRyYXduIG9uIHRo
ZSBzY3JlZW4uIElmIHdlCkBAIC00NDYsNyArNDQ2LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hy
b21pdW06OmRyYXdSZW5kZXJQYXNzKGNvbnN0IENDUmVuZGVyUGFzcyogcmVuZGVyUGFzcykKICAg
ICBpZiAoIXVzZVJlbmRlclN1cmZhY2UocmVuZGVyU3VyZmFjZSkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIGNsZWFyUmVuZGVyU3VyZmFjZShyZW5kZXJTdXJmYWNlLCBtX2RlZmF1bHRSZW5kZXJT
dXJmYWNlLCByZW5kZXJQYXNzLT5zdXJmYWNlRGFtYWdlUmVjdCgpKTsKKyAgICBjbGVhclJlbmRl
clN1cmZhY2VDb250ZW50cyhyZW5kZXJTdXJmYWNlLCBtX2RlZmF1bHRSZW5kZXJTdXJmYWNlLCBy
ZW5kZXJQYXNzLT5zdXJmYWNlRGFtYWdlUmVjdCgpKTsKIAogICAgIGNvbnN0IENDUXVhZExpc3Qm
IHF1YWRMaXN0ID0gcmVuZGVyUGFzcy0+cXVhZExpc3QoKTsKICAgICBmb3IgKENDUXVhZExpc3Q6
OmNvbnN0QmFja1RvRnJvbnRJdGVyYXRvciBpdCA9IHF1YWRMaXN0LmJhY2tUb0Zyb250QmVnaW4o
KTsgaXQgIT0gcXVhZExpc3QuYmFja1RvRnJvbnRFbmQoKTsgKytpdCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJv
bWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJS
ZW5kZXJlckNocm9taXVtLmgKaW5kZXggMTVhNjJmNmE5NGExM2QzOWJkNWE2MTMxN2I1ODQ4MDA2
MDQxN2VlMy4uYzIzNGU3M2Y2MTA2NDNjOGY4MmQ1MGMwNzFmNDBmZWE3NTEyNTg1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5k
ZXJlckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKQEAgLTE5Niw3ICsxOTYsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgc2V0RHJhd1ZpZXdwb3J0UmVjdChjb25zdCBJbnRSZWN0JiwgYm9vbCBmbGlw
WSk7CiAKICAgICBib29sIHVzZVJlbmRlclN1cmZhY2UoQ0NSZW5kZXJTdXJmYWNlKik7Ci0gICAg
dm9pZCBjbGVhclJlbmRlclN1cmZhY2UoQ0NSZW5kZXJTdXJmYWNlKiwgQ0NSZW5kZXJTdXJmYWNl
KiByb290UmVuZGVyU3VyZmFjZSwgY29uc3QgRmxvYXRSZWN0JiBzdXJmYWNlRGFtYWdlUmVjdCk7
CisgICAgdm9pZCBjbGVhclJlbmRlclN1cmZhY2VDb250ZW50cyhDQ1JlbmRlclN1cmZhY2UqLCBD
Q1JlbmRlclN1cmZhY2UqIHJvb3RSZW5kZXJTdXJmYWNlLCBjb25zdCBGbG9hdFJlY3QmIHN1cmZh
Y2VEYW1hZ2VSZWN0KTsKIAogICAgIHZvaWQgcmVsZWFzZVJlbmRlclN1cmZhY2VUZXh0dXJlcygp
OwogCkBAIC0yMDksNyArMjA5LDcgQEAgcHJpdmF0ZToKICAgICBib29sIGluaXRpYWxpemVTaGFy
ZWRPYmplY3RzKCk7CiAgICAgdm9pZCBjbGVhbnVwU2hhcmVkT2JqZWN0cygpOwogCi0gICAgdm9p
ZCBjbGVhclJlbmRlclN1cmZhY2VzT25DQ0xheWVySW1wbFJlY3Vyc2l2ZShDQ0xheWVySW1wbCop
OworICAgIHZvaWQgY2xlYXJSZW5kZXJTdXJmYWNlUG9pbnRlcnNPbkNDTGF5ZXJJbXBsUmVjdXJz
aXZlKENDTGF5ZXJJbXBsKik7CiAKICAgICBmcmllbmQgY2xhc3MgTGF5ZXJSZW5kZXJlclN3YXBC
dWZmZXJzQ29tcGxldGVDYWxsYmFja0FkYXB0ZXI7CiAgICAgdm9pZCBvblN3YXBCdWZmZXJzQ29t
cGxldGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCmluZGV4IDZjYjZkZjAzYzI5ZWFlNjA4N2UwZjRh
OWVlOTQxYzMyYjk5NTA4OTIuLjNhYTY0Mzc3OWJlNGZjYTMzMTllY2Y1NmVjZGY3MTJjNjYzNzIw
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDTGF5ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllckltcGwuaApAQCAtMTUwLDcgKzE1MCw3IEBAIHB1YmxpYzoKIAog
ICAgIENDUmVuZGVyU3VyZmFjZSogcmVuZGVyU3VyZmFjZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVu
ZGVyU3VyZmFjZS5nZXQoKTsgfQogICAgIHZvaWQgY3JlYXRlUmVuZGVyU3VyZmFjZSgpOwotICAg
IHZvaWQgY2xlYXJSZW5kZXJTdXJmYWNlKCkgeyBtX3JlbmRlclN1cmZhY2UuY2xlYXIoKTsgfQor
ICAgIHZvaWQgY2xlYXJSZW5kZXJTdXJmYWNlUG9pbnRlcigpIHsgbV9yZW5kZXJTdXJmYWNlLmNs
ZWFyKCk7IH0KIAogICAgIGZsb2F0IGRyYXdPcGFjaXR5KCkgY29uc3QgeyByZXR1cm4gbV9kcmF3
T3BhY2l0eTsgfQogICAgIHZvaWQgc2V0RHJhd09wYWNpdHkoZmxvYXQgb3BhY2l0eSkgeyBtX2Ry
YXdPcGFjaXR5ID0gb3BhY2l0eTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5jcHAKaW5k
ZXggNTc2ZmMyYjMxOTBhMmQ2MzA5NTc1OTgxNzVjNDNlZWY0ZTc4OGMyNy4uNWJjN2RjNjJjZDQ2
MGU1ZDkwNjJmOTEwYmI0MjRjZGZjMjdmY2FlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhv
c3QuY3BwCkBAIC02MDYsNyArNjA2LDcgQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OmNsZWFyUGVu
ZGluZ1VwZGF0ZSgpCiAgICAgZm9yIChzaXplX3Qgc3VyZmFjZUluZGV4ID0gMDsgc3VyZmFjZUlu
ZGV4IDwgbV91cGRhdGVMaXN0LnNpemUoKTsgKytzdXJmYWNlSW5kZXgpIHsKICAgICAgICAgTGF5
ZXJDaHJvbWl1bSogbGF5ZXIgPSBtX3VwZGF0ZUxpc3Rbc3VyZmFjZUluZGV4XS5nZXQoKTsKICAg
ICAgICAgQVNTRVJUKGxheWVyLT5yZW5kZXJTdXJmYWNlKCkpOwotICAgICAgICBsYXllci0+Y2xl
YXJSZW5kZXJTdXJmYWNlKCk7CisgICAgICAgIGxheWVyLT5jbGVhclJlbmRlclN1cmZhY2VQb2lu
dGVyKCk7CiAgICAgfQogICAgIG1fdXBkYXRlTGlzdC5jbGVhcigpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0Q29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDTGF5ZXJUcmVlSG9zdENvbW1vbi5jcHAKaW5kZXggNDE4ZGNhMTkwYjNlYmU2NDRhMjRh
YzNlZTI4MmJiNWY1YzkyOTYyZC4uMjBkYzI0MjFlNDZmOWUzYzQ0YzYxYmQ1MTg1NWZhNjlhMDhj
YWIyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uY3BwCkBAIC00
MTYsNyArNDE2LDcgQEAgc3RhdGljIGJvb2wgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNp
YmlsaXR5SW50ZXJuYWwoTGF5ZXJUeXBlKiBsYXllciwgTGF5ZXIKIAogICAgICAgICBpZiAobGF5
ZXIgIT0gcm9vdExheWVyKSB7CiAgICAgICAgICAgICBBU1NFUlQobGF5ZXItPnBhcmVudCgpKTsK
LSAgICAgICAgICAgIGxheWVyLT5jbGVhclJlbmRlclN1cmZhY2UoKTsKKyAgICAgICAgICAgIGxh
eWVyLT5jbGVhclJlbmRlclN1cmZhY2VQb2ludGVyKCk7CiAKICAgICAgICAgICAgIC8vIExheWVy
cyBpbmhlcml0IHRoZSBjbGlwIHJlY3QgZnJvbSB0aGVpciBwYXJlbnQuCiAgICAgICAgICAgICBs
YXllci0+c2V0Q2xpcFJlY3QobGF5ZXItPnBhcmVudCgpLT5jbGlwUmVjdCgpKTsKQEAgLTU4MCwx
MiArNTgwLDEyIEBAIHN0YXRpYyBib29sIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJp
bGl0eUludGVybmFsKExheWVyVHlwZSogbGF5ZXIsIExheWVyCiAgICAgICAgICAgICAvLyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQ3IGFuZCB3ZSBz
aG91bGQgYmUgYWJsZQogICAgICAgICAgICAgLy8gICAgICAgIHRvIHB1dCB0aGUgb3JpZ2luYWwg
YXNzZXJ0IGFmdGVyIGZpeGluZyB0aGF0LgogICAgICAgICAgICAgd2hpbGUgKHJlbmRlclN1cmZh
Y2VMYXllckxpc3QubGFzdCgpICE9IGxheWVyKSB7Ci0gICAgICAgICAgICAgICAgcmVuZGVyU3Vy
ZmFjZUxheWVyTGlzdC5sYXN0KCktPmNsZWFyUmVuZGVyU3VyZmFjZSgpOworICAgICAgICAgICAg
ICAgIHJlbmRlclN1cmZhY2VMYXllckxpc3QubGFzdCgpLT5jbGVhclJlbmRlclN1cmZhY2VQb2lu
dGVyKCk7CiAgICAgICAgICAgICAgICAgcmVuZGVyU3VyZmFjZUxheWVyTGlzdC5yZW1vdmVMYXN0
KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBBU1NFUlQocmVuZGVyU3VyZmFjZUxheWVy
TGlzdC5sYXN0KCkgPT0gbGF5ZXIpOwogICAgICAgICAgICAgcmVuZGVyU3VyZmFjZUxheWVyTGlz
dC5yZW1vdmVMYXN0KCk7Ci0gICAgICAgICAgICBsYXllci0+Y2xlYXJSZW5kZXJTdXJmYWNlKCk7
CisgICAgICAgICAgICBsYXllci0+Y2xlYXJSZW5kZXJTdXJmYWNlUG9pbnRlcigpOwogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135679</attachid>
            <date>2012-04-04 14:17:03 -0700</date>
            <delta_ts>2012-04-04 15:23:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82091-20120404141702.patch</filename>
            <type>text/plain</type>
            <size>9440</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjJjNDg0NTkzODZhM2I2
Njk1OTc4ZDM1NzY3YzAwZDA5YjMwMjk0Ny4uY2JlZGNlMWUxYWJiNGYyMWZhNDNkYTkzYzAwMDFm
YzNjYTliNzE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA0LTA0ICBTaGF3
biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0g
TW92ZSByZWN1cnNpdmUgcmVuZGVyU3VyZmFjZSBjbGVhcmluZyB0byBDQ0xheWVyVHJlZUhvc3RJ
bXBsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjA5
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cyBuZWVkZWQsIG1pbm9yIHJlZmFjdG9yaW5nIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVz
dHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBqdXN0IGEgbWlub3IgY2xlYW51cCwgbW92aW5n
IGNsZWFyUmVuZGVyU3VyZmFjZXNPbkNDTGF5ZXJJbXBsUmVjdXJzaXZlKCkKKyAgICAgICAgZnJv
bSBMYXllclJlbmRlcmVyQ2hyb21pdW0gdG8gQ0NMYXllclRyZWVIb3N0SW1wbC4gSXQgbWFrZXMg
bW9yZSBzZW5zZSB0byBwbGFjZSB0aGUgY29kZQorICAgICAgICB0aGVyZSwgc28gdGhhdCBMYXll
clJlbmRlcmVyQ2hyb21pdW0gaXMgbW9yZSBsaWtlIGEgYmxpbmQgdXRpbGl0eSBmb3IgZHJhd2lu
ZyB0aGluZ3MKKyAgICAgICAgd2hpbGUgQ0NMYXllclRyZWVIb3N0SW1wbCBhY3R1YWxseSBtYW5h
Z2VzIHRoZSBzdGF0ZSBvZiB0aGUgcmVzb3VyY2VzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6YmVnaW5EcmF3aW5nRnJhbWUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oOgorICAg
ICAgICAoTGF5ZXJSZW5kZXJlckNocm9taXVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNDTGF5ZXJUcmVlSG9zdEltcGw6On5DQ0xheWVyVHJlZUhvc3RJbXBsKToKKyAgICAgICAgKFdl
YkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OmluaXRpYWxpemVMYXllclJlbmRlcmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OnNlbmREaWRMb3NlQ29udGV4dFJl
Y3Vyc2l2ZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpjbGVhclJl
bmRlclN1cmZhY2VzT25DQ0xheWVySW1wbFJlY3Vyc2l2ZSk6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJ
bXBsLmg6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpyb290TGF5ZXIp
OgorICAgICAgICAoQ0NMYXllclRyZWVIb3N0SW1wbCk6CisKIDIwMTItMDQtMDQgIFRvbnkgQ2hh
bmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW1vdmUgZmxleCBmdW5jdGlvbiBj
c3MgcGFyc2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA0OWNhYzdmNDYzOTliNzdj
YjJlMmI4ZGIwZDAyYjZmMGMyMGIzNjFkLi5iNDAxZmU0MDY0OTBlYTMzOTViNGVhNzU0M2M4MzUz
ZmU3ODEyMTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTA0LTA0ICBTaGF3biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFtjaHJvbWl1bV0gTW92ZSByZWN1cnNpdmUgcmVuZGVyU3VyZmFjZSBjbGVhcmluZyB0byBD
Q0xheWVyVHJlZUhvc3RJbXBsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MjA5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogdGVzdHMvTGF5ZXJSZW5kZXJlckNocm9taXVtVGVzdC5jcHA6CisgICAgICAg
IChGYWtlTGF5ZXJSZW5kZXJlckNocm9taXVtQ2xpZW50OjpGYWtlTGF5ZXJSZW5kZXJlckNocm9t
aXVtQ2xpZW50KToKKwogMjAxMi0wNC0wNCAgS2F1c2FseWEgTWFkaHVzdWRoYW5hbiAgPGttYWRo
dXN1QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ292ZXJpdHldIEFkZHJlc3Mgc29tZSB1bmlu
aXQgY29uc3RydWN0b3IgdmFsdWVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5j
cHAKaW5kZXggY2NiMWRkOGQwYjI5YzM3MjIxMzNmYWI2ZGQ4MzVhOWI0ODI4YmIxMC4uM2QxN2I4
ZWVkYjFiYmQxYjUzNjM2ODZhM2Y5YTFlZjRkNmY0Zjk5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJl
bmRlcmVyQ2hyb21pdW0uY3BwCkBAIC0zMjAsMTkgKzMyMCw2IEBAIExheWVyUmVuZGVyZXJDaHJv
bWl1bTo6fkxheWVyUmVuZGVyZXJDaHJvbWl1bSgpCiAgICAgY2xlYW51cFNoYXJlZE9iamVjdHMo
KTsKIH0KIAotdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmNsZWFyUmVuZGVyU3VyZmFjZXNP
bkNDTGF5ZXJJbXBsUmVjdXJzaXZlKENDTGF5ZXJJbXBsKiBsYXllcikKLXsKLSAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGxheWVyLT5jaGlsZHJlbigpLnNpemUoKTsgKytpKQotICAgICAgICBj
bGVhclJlbmRlclN1cmZhY2VzT25DQ0xheWVySW1wbFJlY3Vyc2l2ZShsYXllci0+Y2hpbGRyZW4o
KVtpXS5nZXQoKSk7Ci0gICAgbGF5ZXItPmNsZWFyUmVuZGVyU3VyZmFjZSgpOwotfQotCi12b2lk
IExheWVyUmVuZGVyZXJDaHJvbWl1bTo6Y2xvc2UoKQotewotICAgIGlmIChyb290TGF5ZXIoKSkK
LSAgICAgICAgY2xlYXJSZW5kZXJTdXJmYWNlc09uQ0NMYXllckltcGxSZWN1cnNpdmUocm9vdExh
eWVyKCkpOwotfQotCiBHcmFwaGljc0NvbnRleHQzRCogTGF5ZXJSZW5kZXJlckNocm9taXVtOjpj
b250ZXh0KCkKIHsKICAgICByZXR1cm4gbV9jb250ZXh0LmdldCgpOwpAQCAtNDA3LDYgKzM5NCw3
IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpiZWdpbkRyYXdpbmdGcmFtZSgpCiAgICAg
ZW5zdXJlRnJhbWVidWZmZXIoKTsKIAogICAgIG1fZGVmYXVsdFJlbmRlclN1cmZhY2UgPSByb290
TGF5ZXIoKS0+cmVuZGVyU3VyZmFjZSgpOworICAgIEFTU0VSVChtX2RlZmF1bHRSZW5kZXJTdXJm
YWNlKTsKIAogICAgIC8vIEZJWE1FOiB1c2UgdGhlIGZyYW1lIGJlZ2luIHRpbWUgZnJvbSB0aGUg
b3ZlcmFsbCBjb21wb3NpdG9yIHNjaGVkdWxlci4KICAgICAvLyBUaGlzIHZhbHVlIGlzIGN1cnJl
bnRseSBpbmFjY2Vzc2libGUgYmVjYXVzZSBpdCBpcyB1cCBpbiBDaHJvbWl1bSdzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRl
cmVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCmluZGV4IDE1YTYyZjZhOTRhMTNkMzliZDVhNjEzMTdi
NTg0ODAwNjA0MTdlZTMuLmQ2YWM2ODIyOTA2OTEyN2UzYjEyMGU5MzQ0OWNiYTk1ZTE5NzU2OTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC04MSw5ICs4MSw2IEBAIGNs
YXNzIExheWVyUmVuZGVyZXJDaHJvbWl1bSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8TGF5ZXJSZW5kZXJlckNocm9taXVtPiBjcmVhdGUoTGF5ZXJSZW5kZXJlckNocm9taXVtQ2xp
ZW50KiwgUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4pOwogCi0gICAgLy8gTXVzdCBiZSBj
YWxsZWQgaW4gb3JkZXIgdG8gYWxsb3cgdGhlIExheWVyUmVuZGVyZXJDaHJvbWl1bSB0byBkZXN0
cnVjdAotICAgIHZvaWQgY2xvc2UoKTsKLQogICAgIH5MYXllclJlbmRlcmVyQ2hyb21pdW0oKTsK
IAogICAgIGNvbnN0IENDU2V0dGluZ3MmIHNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9jbGll
bnQtPnNldHRpbmdzKCk7IH0KQEAgLTIwOSw4ICsyMDYsNiBAQCBwcml2YXRlOgogICAgIGJvb2wg
aW5pdGlhbGl6ZVNoYXJlZE9iamVjdHMoKTsKICAgICB2b2lkIGNsZWFudXBTaGFyZWRPYmplY3Rz
KCk7CiAKLSAgICB2b2lkIGNsZWFyUmVuZGVyU3VyZmFjZXNPbkNDTGF5ZXJJbXBsUmVjdXJzaXZl
KENDTGF5ZXJJbXBsKik7Ci0KICAgICBmcmllbmQgY2xhc3MgTGF5ZXJSZW5kZXJlclN3YXBCdWZm
ZXJzQ29tcGxldGVDYWxsYmFja0FkYXB0ZXI7CiAgICAgdm9pZCBvblN3YXBCdWZmZXJzQ29tcGxl
dGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAppbmRleCBmMmUy
MGNmMDE0MTIyMjBlZDExNmMwMjIxNGQwM2UxYmU0NTk1OWVkLi5kMjFhNGUwYzYwOWMzN2JkYWQy
ZGY5MzE1YWY1MDcyNzZkN2FkMWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJ
bXBsLmNwcApAQCAtMTI0LDggKzEyNCw5IEBAIENDTGF5ZXJUcmVlSG9zdEltcGw6On5DQ0xheWVy
VHJlZUhvc3RJbXBsKCkKIHsKICAgICBBU1NFUlQoQ0NQcm94eTo6aXNJbXBsVGhyZWFkKCkpOwog
ICAgIFRSQUNFX0VWRU5UKCJDQ0xheWVyVHJlZUhvc3RJbXBsOjp+Q0NMYXllclRyZWVIb3N0SW1w
bCgpIiwgdGhpcywgMCk7Ci0gICAgaWYgKG1fbGF5ZXJSZW5kZXJlcikKLSAgICAgICAgbV9sYXll
clJlbmRlcmVyLT5jbG9zZSgpOworCisgICAgaWYgKHJvb3RMYXllcigpKQorICAgICAgICBjbGVh
clJlbmRlclN1cmZhY2VzT25DQ0xheWVySW1wbFJlY3Vyc2l2ZShyb290TGF5ZXIoKSk7CiB9CiAK
IHZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6YmVnaW5Db21taXQoKQpAQCAtNTAyLDkgKzUwMywx
MSBAQCBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmluaXRpYWxpemVMYXllclJlbmRlcmVyKFBh
c3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+CiAgICAgT3duUHRyPExheWVyUmVuZGVyZXJDaHJv
bWl1bT4gbGF5ZXJSZW5kZXJlcjsKICAgICBsYXllclJlbmRlcmVyID0gTGF5ZXJSZW5kZXJlckNo
cm9taXVtOjpjcmVhdGUodGhpcywgY29udGV4dCk7CiAKLSAgICBpZiAobV9sYXllclJlbmRlcmVy
KSB7Ci0gICAgICAgIG1fbGF5ZXJSZW5kZXJlci0+Y2xvc2UoKTsKLSAgICAgICAgc2VuZERpZExv
c2VDb250ZXh0UmVjdXJzaXZlKG1fcm9vdExheWVySW1wbC5nZXQoKSk7CisgICAgLy8gU2luY2Ug
d2Ugbm93IGhhdmUgYSBuZXcgY29udGV4dC9sYXllclJlbmRlcmVyLCB3ZSBjYW5ub3QgY29udGlu
dWUgdG8gdXNlIHRoZSBvbGQKKyAgICAvLyByZXNvdXJjZXMgKGkuZS4gcmVuZGVyU3VyZmFjZXMg
YW5kIHRleHR1cmUgSURzKS4KKyAgICBpZiAocm9vdExheWVyKCkpIHsKKyAgICAgICAgY2xlYXJS
ZW5kZXJTdXJmYWNlc09uQ0NMYXllckltcGxSZWN1cnNpdmUocm9vdExheWVyKCkpOworICAgICAg
ICBzZW5kRGlkTG9zZUNvbnRleHRSZWN1cnNpdmUocm9vdExheWVyKCkpOwogICAgIH0KIAogICAg
IG1fbGF5ZXJSZW5kZXJlciA9IGxheWVyUmVuZGVyZXIucmVsZWFzZSgpOwpAQCAtODIzLDE2ICs4
MjYsMjQgQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjphbmltYXRlTGF5ZXJzKGRvdWJsZSBt
b25vdG9uaWNUaW1lLCBkb3VibGUgd2FsbENsb2NrVGkKIAogdm9pZCBDQ0xheWVyVHJlZUhvc3RJ
bXBsOjpzZW5kRGlkTG9zZUNvbnRleHRSZWN1cnNpdmUoQ0NMYXllckltcGwqIGN1cnJlbnQpCiB7
Ci0gICAgaWYgKCFjdXJyZW50KQotICAgICAgICByZXR1cm47Ci0KKyAgICBBU1NFUlQoY3VycmVu
dCk7CiAgICAgY3VycmVudC0+ZGlkTG9zZUNvbnRleHQoKTsKLSAgICBzZW5kRGlkTG9zZUNvbnRl
eHRSZWN1cnNpdmUoY3VycmVudC0+bWFza0xheWVyKCkpOwotICAgIHNlbmREaWRMb3NlQ29udGV4
dFJlY3Vyc2l2ZShjdXJyZW50LT5yZXBsaWNhTGF5ZXIoKSk7CisgICAgaWYgKGN1cnJlbnQtPm1h
c2tMYXllcigpKQorICAgICAgICBzZW5kRGlkTG9zZUNvbnRleHRSZWN1cnNpdmUoY3VycmVudC0+
bWFza0xheWVyKCkpOworICAgIGlmIChjdXJyZW50LT5yZXBsaWNhTGF5ZXIoKSkKKyAgICAgICAg
c2VuZERpZExvc2VDb250ZXh0UmVjdXJzaXZlKGN1cnJlbnQtPnJlcGxpY2FMYXllcigpKTsKICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGN1cnJlbnQtPmNoaWxkcmVuKCkuc2l6ZSgpOyArK2kp
CiAgICAgICAgIHNlbmREaWRMb3NlQ29udGV4dFJlY3Vyc2l2ZShjdXJyZW50LT5jaGlsZHJlbigp
W2ldLmdldCgpKTsKIH0KIAordm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpjbGVhclJlbmRlclN1
cmZhY2VzT25DQ0xheWVySW1wbFJlY3Vyc2l2ZShDQ0xheWVySW1wbCogY3VycmVudCkKK3sKKyAg
ICBBU1NFUlQoY3VycmVudCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjdXJyZW50LT5j
aGlsZHJlbigpLnNpemUoKTsgKytpKQorICAgICAgICBjbGVhclJlbmRlclN1cmZhY2VzT25DQ0xh
eWVySW1wbFJlY3Vyc2l2ZShjdXJyZW50LT5jaGlsZHJlbigpW2ldLmdldCgpKTsKKyAgICBjdXJy
ZW50LT5jbGVhclJlbmRlclN1cmZhY2UoKTsKK30KKwogdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBs
OjphbmltYXRlR2VzdHVyZXMoZG91YmxlIG1vbm90b25pY1RpbWUpCiB7CiAgICAgaWYgKCFtX2Fj
dGl2ZUdlc3R1cmVBbmltYXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgK
aW5kZXggYTg1OWZlYzVjMjAzZGJkMmI0NmIzY2VjY2YyMjFmZDY5MWNiM2Q2Ni4uZDU4ZGI1ZjJk
NDFlOWU4NTRjYmI2ZGZmNDU2ZmExMzIyYTMxMmIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJU
cmVlSG9zdEltcGwuaApAQCAtOTYsNyArOTYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBjb25z
dCBJbnRTaXplJiB2aWV3cG9ydFNpemUoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0U2l6ZTsg
fQogICAgIHZpcnR1YWwgY29uc3QgQ0NTZXR0aW5ncyYgc2V0dGluZ3MoKSBjb25zdCB7IHJldHVy
biBtX3NldHRpbmdzOyB9CiAgICAgdmlydHVhbCBDQ0xheWVySW1wbCogcm9vdExheWVyKCkgeyBy
ZXR1cm4gbV9yb290TGF5ZXJJbXBsLmdldCgpOyB9Ci0gICAgdmlydHVhbCBjb25zdCBDQ0xheWVy
SW1wbCogcm9vdExheWVyKCkgY29uc3QgIHsgcmV0dXJuIG1fcm9vdExheWVySW1wbC5nZXQoKTsg
fQorICAgIHZpcnR1YWwgY29uc3QgQ0NMYXllckltcGwqIHJvb3RMYXllcigpIGNvbnN0IHsgcmV0
dXJuIG1fcm9vdExheWVySW1wbC5nZXQoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRMb3NlQ29u
dGV4dCgpOwogICAgIHZpcnR1YWwgdm9pZCBvblN3YXBCdWZmZXJzQ29tcGxldGUoKTsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0RnVsbFJvb3RMYXllckRhbWFnZSgpOwpAQCAtMTcxLDYgKzE3MSw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBhbmltYXRlTGF5ZXJzUmVjdXJzaXZlKENDTGF5ZXJJbXBsKiwg
ZG91YmxlIG1vbm90b25pY1RpbWUsIGRvdWJsZSB3YWxsQ2xvY2tUaW1lLCBDQ0FuaW1hdGlvbkV2
ZW50c1ZlY3RvciosIGJvb2wmIGRpZEFuaW1hdGUsIGJvb2wmIG5lZWRzQW5pbWF0ZUxheWVycyk7
CiAgICAgSW50U2l6ZSBjb250ZW50U2l6ZSgpIGNvbnN0OwogICAgIHZvaWQgc2VuZERpZExvc2VD
b250ZXh0UmVjdXJzaXZlKENDTGF5ZXJJbXBsKik7CisgICAgdm9pZCBjbGVhclJlbmRlclN1cmZh
Y2VzT25DQ0xheWVySW1wbFJlY3Vyc2l2ZShDQ0xheWVySW1wbCopOwogCiAgICAgT3duUHRyPExh
eWVyUmVuZGVyZXJDaHJvbWl1bT4gbV9sYXllclJlbmRlcmVyOwogICAgIE93blB0cjxDQ0xheWVy
SW1wbD4gbV9yb290TGF5ZXJJbXBsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9MYXllclJlbmRlcmVyQ2hyb21pdW1UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvTGF5ZXJSZW5kZXJlckNocm9taXVtVGVzdC5jcHAKaW5kZXggNDlhMzYxOGQ4
MmQ4NjllOTE5ZWM2MDQ3MmNhYzgxMjY2ZjNhM2IyOS4uYTNiNDQ5ZGI4Y2I1YTU1YTZlNzg1N2Fk
YTc0MTdkNWFlYWU0ZDg3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9MYXllclJlbmRlcmVyQ2hyb21pdW1UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0xheWVyUmVuZGVyZXJDaHJvbWl1bVRlc3QuY3BwCkBAIC02Nyw2ICs2Nyw3IEBA
IHB1YmxpYzoKICAgICAgICAgOiBtX3NldEZ1bGxSb290TGF5ZXJEYW1hZ2VDb3VudCgwKQogICAg
ICAgICAsIG1fcm9vdExheWVyKENDTGF5ZXJJbXBsOjpjcmVhdGUoMSkpCiAgICAgeworICAgICAg
ICBtX3Jvb3RMYXllci0+Y3JlYXRlUmVuZGVyU3VyZmFjZSgpOwogICAgIH0KIAogICAgIC8vIExh
eWVyUmVuZGVyZXJDaHJvbWl1bUNsaWVudCBtZXRob2RzLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>