<?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>37154</bug_id>
          
          <creation_ts>2010-04-06 09:07:31 -0700</creation_ts>
          <short_desc>V8CustomIDBCallbacks&lt;&gt; should not hold a reference to the frame</short_desc>
          <delta_ts>2010-04-07 04:39: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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Jeremy Orlow">jorlow</reporter>
          <assigned_to name="Jeremy Orlow">jorlow</assigned_to>
          <cc>abarth</cc>
    
    <cc>ager</cc>
    
    <cc>atwilson</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dimich</cc>
    
    <cc>eric</cc>
    
    <cc>japhet</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>209070</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-04-06 09:07:31 -0700</bug_when>
    <thetext>V8CustomIDBCallbacks&lt;&gt; should not hold a reference to the frame</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209071</commentid>
    <comment_count>1</comment_count>
      <attachid>52644</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-04-06 09:16:37 -0700</bug_when>
    <thetext>Created attachment 52644
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209072</commentid>
    <comment_count>2</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-04-06 09:17:51 -0700</bug_when>
    <thetext>This addresses the issues discussed in our email thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209082</commentid>
    <comment_count>3</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-04-06 09:45:12 -0700</bug_when>
    <thetext>Mads, I&apos;m not sure if what I&apos;m doing with the contexts is OK.  My main hint that it&apos;s not when onError() is called with the code that provided the callback on the call stack, things work fine.  But when I trigger the callback without anything WebKit on the call stack (i.e. it&apos;s triggered by an IPC) then things act quite odd.  (The inspector aw snaps if you open it and changes don&apos;t show up on screen.)

Any ideas of what I might be doing wrong?  (Note that this behavior was true before and after the patch.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209159</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-06 11:56:06 -0700</bug_when>
    <thetext>+     v8::Persistent&lt;v8::Object&gt; m_onSuccess;
+     v8::Persistent&lt;v8::Object&gt; m_onError;

Please use OwnHandle instead to avoid manual new/dispose.

+ class V8CustomIDBCallbacks : public IDBCallbacks&lt;ResultType&gt; {

I wish the base class where were more abstract so it could be used by non-DB callbacks.

As another approach, you could make a more complex object for m_onSuccess instead of just holding a V8 handle.  That object could encapsulate the world handle / activeDOMObject logic.  Then V8CustomIDBCallbacks could be a simple composition of the callbacks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209166</commentid>
    <comment_count>5</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-04-06 12:11:51 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; +     v8::Persistent&lt;v8::Object&gt; m_onSuccess;
&gt; +     v8::Persistent&lt;v8::Object&gt; m_onError;
&gt; 
&gt; Please use OwnHandle instead to avoid manual new/dispose.

Oooo.  Nice.

&gt; + class V8CustomIDBCallbacks : public IDBCallbacks&lt;ResultType&gt; {
&gt; 
&gt; I wish the base class where were more abstract so it could be used by non-DB
&gt; callbacks.
&gt; 
&gt; As another approach, you could make a more complex object for m_onSuccess
&gt; instead of just holding a V8 handle.  That object could encapsulate the world
&gt; handle / activeDOMObject logic.  Then V8CustomIDBCallbacks could be a simple
&gt; composition of the callbacks.

A little while ago I actually tried to do that, but (IIRC) I found that I either had to make the container class a factory that you inject the individual callback classes into or you have to subclass both the container class and the individual sub-classes.

I&apos;m not against making the code more complex in the interest of re-use, but I really think we should get at very least |window.indexedDB.open()| always calling the error callback before we worry too much about it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209175</commentid>
    <comment_count>6</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-04-06 12:26:47 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; +     v8::Persistent&lt;v8::Object&gt; m_onSuccess;
&gt; &gt; +     v8::Persistent&lt;v8::Object&gt; m_onError;
&gt; &gt; 
&gt; &gt; Please use OwnHandle instead to avoid manual new/dispose.
&gt; 
&gt; Oooo.  Nice.

Unfortunately, I think this will need to wait because changing it would require me to change VoidCallback.  And I want to do that once we have our story fully sorted out for IndexedDB.

I&apos;ll add a FIXME for now though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209176</commentid>
    <comment_count>7</comment_count>
      <attachid>52656</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-04-06 12:29:21 -0700</bug_when>
    <thetext>Created attachment 52656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209199</commentid>
    <comment_count>8</comment_count>
      <attachid>52656</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-06 13:14:00 -0700</bug_when>
    <thetext>Comment on attachment 52656
Patch

Ok.  I&apos;m not opposed to an incremental approach.  :)

I presume you&apos;ll add tests once you&apos;ve gotten it fully fixed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209478</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-06 23:45:58 -0700</bug_when>
    <thetext>Attachment 52656 was posted by a committer and has review+, assigning to Jeremy Orlow for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209569</commentid>
    <comment_count>10</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-04-07 04:04:33 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 52656 [details])
&gt; Ok.  I&apos;m not opposed to an incremental approach.  :)
&gt; 
&gt; I presume you&apos;ll add tests once you&apos;ve gotten it fully fixed?

Will test this code and refractor the rest of the code as soon as this stuff is working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209576</commentid>
    <comment_count>11</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-04-07 04:39:54 -0700</bug_when>
    <thetext>Committed r57203: &lt;http://trac.webkit.org/changeset/57203&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52644</attachid>
            <date>2010-04-06 09:16:37 -0700</date>
            <delta_ts>2010-04-06 12:29:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37154-20100406171635.patch</filename>
            <type>text/plain</type>
            <size>7638</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzlkZTI0Yy4uYWE5YjYwYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMC0wNC0wNiAgSmVyZW15IE9ybG93
ICA8am9ybG93QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBWOEN1c3RvbUlEQkNhbGxiYWNrczw+IHNob3VsZCBub3QgaG9sZCBh
IHJlZmVyZW5jZSB0byB0aGUgZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM3MTU0CisKKyAgICAgICAgRG9uJ3QgaG9sZCBvbiB0byBhIEZyYW1l
IHJlZmVyZW5jZS4KKyAgICAgICAgSW5zdGVhZCwgYmUgYW4gQWN0aXZlRE9NT2JqZWN0IGFuZCB1
c2Ugc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpCisgICAgICAgIHRvIGdldCB0aGUgdjggY29udGV4
dC4KKyAgICAgICAgRmFjdG9yIHRoZSBndXRzIG9mIG9uU3VjY2VzcyBhbmQgb25FcnJvciBvdXQu
CisKKyAgICAgICAgRG9lc24ndCB3b3JrIGVub3VnaCB0byB0ZXN0IHlldC4KKworICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUlEQkNhbGxiYWNrcy5oOgorICAgICAgICAoV2Vi
Q29yZTo6VjhDdXN0b21JREJDYWxsYmFja3M6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpW
OEN1c3RvbUlEQkNhbGxiYWNrczo6b25TdWNjZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OlY4Q3Vz
dG9tSURCQ2FsbGJhY2tzOjpvbkVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlY4Q3VzdG9tSURC
Q2FsbGJhY2tzOjpWOEN1c3RvbUlEQkNhbGxiYWNrcyk6CisgICAgICAgIChXZWJDb3JlOjpWOEN1
c3RvbUlEQkNhbGxiYWNrczo6b25FdmVudCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SW5kZXhlZERhdGFiYXNlUmVxdWVzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpW
OEluZGV4ZWREYXRhYmFzZVJlcXVlc3Q6Om9wZW5DYWxsYmFjayk6CisgICAgICAgICogc3RvcmFn
ZS9JREJDYWxsYmFja3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNhbGxiYWNrczo6SURCQ2Fs
bGJhY2tzKToKKwogMjAxMC0wNC0wNiAgVml0YWx5IFJlcGVzaGtvICA8dml0YWx5ckBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tSURCQ2FsbGJhY2tzLmggYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUlEQkNhbGxiYWNrcy5oCmluZGV4IGM3
MWFlYTEuLmY3N2YxZjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q3VzdG9tSURCQ2FsbGJhY2tzLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhD
dXN0b21JREJDYWxsYmFja3MuaApAQCAtMzEsMTAgKzMxLDEyIEBACiAjaWZuZGVmIFY4Q3VzdG9t
SURCQ2FsbGJhY2tzX2gKICNkZWZpbmUgVjhDdXN0b21JREJDYWxsYmFja3NfaAogCisjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNl
RXJyb3IuaCIKICNpbmNsdWRlICJWOEN1c3RvbVZvaWRDYWxsYmFjay5oIgogI2luY2x1ZGUgIlY4
SURCRGF0YWJhc2VFcnJvci5oIgorI2luY2x1ZGUgIldvcmxkQ29udGV4dEhhbmRsZS5oIgogI2lu
Y2x1ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgpAQCAtNDgsOSArNTAsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgUmVzdWx0VHlwZSwgdHlwZW5hbWUgUmVzdWx0V3JhcHBlclR5cGU+CiBj
bGFzcyBWOEN1c3RvbUlEQkNhbGxiYWNrcyA6IHB1YmxpYyBJREJDYWxsYmFja3M8UmVzdWx0VHlw
ZT4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFY4Q3VzdG9tSURCQ2FsbGJhY2tz
PiBjcmVhdGUodjg6OkxvY2FsPHY4OjpWYWx1ZT4gb25TdWNjZXNzLCB2ODo6TG9jYWw8djg6OlZh
bHVlPiBvbkVycm9yLCBGcmFtZSogZnJhbWUpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8VjhDdXN0
b21JREJDYWxsYmFja3M+IGNyZWF0ZSh2ODo6TG9jYWw8djg6OlZhbHVlPiBvblN1Y2Nlc3MsIHY4
OjpMb2NhbDx2ODo6VmFsdWU+IG9uRXJyb3IsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFY4
Q3VzdG9tSURCQ2FsbGJhY2tzKG9uU3VjY2Vzcywgb25FcnJvciwgZnJhbWUpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBWOEN1c3RvbUlEQkNhbGxiYWNrcyhvblN1Y2Nlc3MsIG9uRXJy
b3IsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5WOEN1
c3RvbUlEQkNhbGxiYWNrcygpCkBAIC02MSw1NCArNjMsNTQgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCB2b2lkIG9uU3VjY2VzcyhQYXNzUmVmUHRyPFJlc3VsdFR5cGU+IHJlc3VsdCkKICAgICB7
Ci0gICAgICAgIGlmIChtX29uU3VjY2Vzcy5Jc0VtcHR5KCkpCi0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKLSAgICAgICAgdjg6OkhhbmRs
ZTx2ODo6Q29udGV4dD4gY29udGV4dCA9IFY4UHJveHk6OmNvbnRleHQobV9mcmFtZS5nZXQoKSk7
Ci0gICAgICAgIGlmIChjb250ZXh0LklzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybjsKLQot
ICAgICAgICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUoY29udGV4dCk7Ci0gICAgICAgIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBhcmd2W10gPSB7Ci0gICAgICAgICAgICB0b1Y4KFJlc3VsdFdyYXBw
ZXJUeXBlOjpjcmVhdGUocmVzdWx0KSkKLSAgICAgICAgfTsKLSAgICAgICAgUmVmUHRyPEZyYW1l
PiBwcm90ZWN0b3IobV9mcmFtZSk7Ci0gICAgICAgIGJvb2wgY2FsbGJhY2tSZXR1cm5WYWx1ZSA9
IGZhbHNlOwotICAgICAgICAvLyBGSVhNRTogRG8gd2UgY2FyZSBpZiB0aGlzIHRoaW5nIHJldHVy
bnMgdHJ1ZSAoaS5lLiBpdCByYWlzZWQgYW4gZXhjZXB0aW9uKT8KLSAgICAgICAgaW52b2tlQ2Fs
bGJhY2sobV9vblN1Y2Nlc3MsIDEsIGFyZ3YsIGNhbGxiYWNrUmV0dXJuVmFsdWUpOworICAgICAg
ICBvbkV2ZW50KG1fb25TdWNjZXNzLCBSZXN1bHRXcmFwcGVyVHlwZTo6Y3JlYXRlKHJlc3VsdCkp
OwogICAgIH0KIAogICAgIHZpcnR1YWwgdm9pZCBvbkVycm9yKFBhc3NSZWZQdHI8SURCRGF0YWJh
c2VFcnJvcj4gZXJyb3IpCiAgICAgewotICAgICAgICBpZiAobV9vbkVycm9yLklzRW1wdHkoKSkK
KyAgICAgICAgb25FdmVudChtX29uRXJyb3IsIGVycm9yKTsKKyAgICB9CisKK3ByaXZhdGU6Cisg
ICAgVjhDdXN0b21JREJDYWxsYmFja3Modjg6OkxvY2FsPHY4OjpWYWx1ZT4gb25TdWNjZXNzLCB2
ODo6TG9jYWw8djg6OlZhbHVlPiBvbkVycm9yLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KQorICAgICAgICA6IElEQkNhbGxiYWNrczxSZXN1bHRUeXBlPihz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LCB0aGlzKQorICAgICAgICAsIG1fb25TdWNjZXNzKG9uU3Vj
Y2Vzcy0+SXNPYmplY3QoKSA/IHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+OjpOZXcob25TdWNj
ZXNzLT5Ub09iamVjdCgpKSA6IHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KCkpCisgICAgICAg
ICwgbV9vbkVycm9yKG9uRXJyb3ItPklzT2JqZWN0KCkgPyB2ODo6UGVyc2lzdGVudDx2ODo6T2Jq
ZWN0Pjo6TmV3KG9uRXJyb3ItPlRvT2JqZWN0KCkpIDogdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVj
dD4oKSkKKyAgICAgICAgLCBtX3dvcmxkQ29udGV4dChVc2VDdXJyZW50V29ybGQpCisgICAgewor
ICAgIH0KKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUeXBlPgorICAgIHZvaWQgb25FdmVudCh2
ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBjYWxsYmFjaywgUGFzc1JlZlB0cjxUeXBlPiB2YWx1
ZSkKKyAgICB7CisgICAgICAgIGlmICghQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpCiAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlmIChjYWxsYmFjay5Jc0Vt
cHR5KCkpCisgICAgICAgICAgICByZXR1cm47CisKICAgICAgICAgdjg6OkhhbmRsZVNjb3BlIGhh
bmRsZVNjb3BlOwotICAgICAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0ID0gVjhQ
cm94eTo6Y29udGV4dChtX2ZyYW1lLmdldCgpKTsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6Q29u
dGV4dD4gY29udGV4dCA9IHRvVjhDb250ZXh0KEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLCBtX3dvcmxkQ29udGV4dCk7CiAgICAgICAgIGlmIChjb250ZXh0LklzRW1w
dHkoKSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB2ODo6Q29udGV4dDo6U2NvcGUg
c2NvcGUoY29udGV4dCk7CiAgICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2W10gPSB7
Ci0gICAgICAgICAgICB0b1Y4KGVycm9yKQorICAgICAgICAgICAgdG9WOCh2YWx1ZSkKICAgICAg
ICAgfTsKLSAgICAgICAgUmVmUHRyPEZyYW1lPiBwcm90ZWN0b3IobV9mcmFtZSk7CisKKyAgICAg
ICAgLy8gRklYTUU6IE1ha2UgdGhpcyB3b3JrIGZvciB3b3JrZXJzLgorICAgICAgICBBU1NFUlQo
QWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzRG9jdW1lbnQoKSk7
CisgICAgICAgIFJlZlB0cjxGcmFtZT4gcHJvdGVjdG9yKHN0YXRpY19jYXN0PERvY3VtZW50Kj4o
QWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpLT5mcmFtZSgpKTsKKwog
ICAgICAgICBib29sIGNhbGxiYWNrUmV0dXJuVmFsdWUgPSBmYWxzZTsKICAgICAgICAgLy8gRklY
TUU6IERvIHdlIGNhcmUgaWYgdGhpcyB0aGluZyByZXR1cm5zIHRydWUgKGkuZS4gaXQgcmFpc2Vk
IGFuIGV4Y2VwdGlvbik/Ci0gICAgICAgIGludm9rZUNhbGxiYWNrKG1fb25FcnJvciwgMSwgYXJn
diwgY2FsbGJhY2tSZXR1cm5WYWx1ZSk7CisgICAgICAgIGludm9rZUNhbGxiYWNrKGNhbGxiYWNr
LCAxLCBhcmd2LCBjYWxsYmFja1JldHVyblZhbHVlKTsKICAgICB9CiAKLXByaXZhdGU6Ci0gICAg
VjhDdXN0b21JREJDYWxsYmFja3Modjg6OkxvY2FsPHY4OjpWYWx1ZT4gb25TdWNjZXNzLCB2ODo6
TG9jYWw8djg6OlZhbHVlPiBvbkVycm9yLCBGcmFtZSogZnJhbWUpCi0gICAgICAgIDogbV9vblN1
Y2Nlc3Mob25TdWNjZXNzLT5Jc09iamVjdCgpID8gdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46
Ok5ldyhvblN1Y2Nlc3MtPlRvT2JqZWN0KCkpIDogdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4o
KSkKLSAgICAgICAgLCBtX29uRXJyb3Iob25FcnJvci0+SXNPYmplY3QoKSA/IHY4OjpQZXJzaXN0
ZW50PHY4OjpPYmplY3Q+OjpOZXcob25FcnJvci0+VG9PYmplY3QoKSkgOiB2ODo6UGVyc2lzdGVu
dDx2ODo6T2JqZWN0PigpKQotICAgICAgICAsIG1fZnJhbWUoZnJhbWUpCi0gICAgewotICAgIH0K
LQotICAgIC8vIEZJWE1FOiBTaG91bGQgdGhlc2UgYmUgdjg6OkZ1bmN0aW9ucz8gIEZvciBzb21l
IHJlYXNvbiwgVm9pZENhbGxiYWNrICh3aGljaCB0aGlzIGNvcGllZCkgdXNlcyB2ODo6T2JqZWN0
cy4KICAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBtX29uU3VjY2VzczsKICAgICB2ODo6
UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBtX29uRXJyb3I7Ci0gICAgUmVmUHRyPEZyYW1lPiBtX2Zy
YW1lOworCisgICAgV29ybGRDb250ZXh0SGFuZGxlIG1fd29ybGRDb250ZXh0OwogfTsKIAogfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmRleGVkRGF0YWJhc2VS
ZXF1ZXN0Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5kZXhlZERh
dGFiYXNlUmVxdWVzdEN1c3RvbS5jcHAKaW5kZXggZTg0OGQ4Ni4uYWZhYzcwMyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmRleGVkRGF0YWJhc2VSZXF1ZXN0Q3Vz
dG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluZGV4ZWREYXRhYmFz
ZVJlcXVlc3RDdXN0b20uY3BwCkBAIC03Miw3ICs3Miw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOEluZGV4ZWREYXRhYmFzZVJlcXVlc3Q6Om9wZW5DYWxsYmFjayhjb25zdCB2ODo6QXJndW1l
bnRzCiAKICAgICBGcmFtZSogZnJhbWUgPSBWOFByb3h5OjpyZXRyaWV2ZUZyYW1lRm9yQ3VycmVu
dENvbnRleHQoKTsKICAgICBSZWZQdHI8VjhDdXN0b21JREJDYWxsYmFja3M8SURCRGF0YWJhc2Us
IElEQkRhdGFiYXNlUmVxdWVzdD4gPiBjYWxsYmFja3MgPQotICAgICAgICBWOEN1c3RvbUlEQkNh
bGxiYWNrczxJREJEYXRhYmFzZSwgSURCRGF0YWJhc2VSZXF1ZXN0Pjo6Y3JlYXRlKG9uU3VjY2Vz
cywgb25FcnJvciwgZnJhbWUpOworICAgICAgICBWOEN1c3RvbUlEQkNhbGxiYWNrczxJREJEYXRh
YmFzZSwgSURCRGF0YWJhc2VSZXF1ZXN0Pjo6Y3JlYXRlKG9uU3VjY2Vzcywgb25FcnJvciwgZnJh
bWUtPmRvY3VtZW50KCkpOwogCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgaW1wLT5v
cGVuKG5hbWUsIGRlc2NyaXB0aW9uLCBtb2RpZnlEYXRhYmFzZSwgZWMsIGNhbGxiYWNrcyk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCQ2FsbGJhY2tzLmggYi9XZWJDb3JlL3N0b3Jh
Z2UvSURCQ2FsbGJhY2tzLmgKaW5kZXggN2IwNmFjMy4uYTdkMzUyZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdG9yYWdlL0lEQkNhbGxiYWNrcy5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJDYWxs
YmFja3MuaApAQCAtMjksNiArMjksNyBAQAogI2lmbmRlZiBJREJDYWxsYmFja3NfaAogI2RlZmlu
ZSBJREJDYWxsYmFja3NfaAogCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC0z
Nyw4ICszOCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBJREJEYXRhYmFzZUVycm9y
OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgUmVzdWx0VHlwZT4KLWNsYXNzIElEQkNhbGxiYWNrcyA6
IHB1YmxpYyBSZWZDb3VudGVkPElEQkNhbGxiYWNrczxSZXN1bHRUeXBlPiA+IHsKK2NsYXNzIElE
QkNhbGxiYWNrcyA6IHB1YmxpYyBSZWZDb3VudGVkPElEQkNhbGxiYWNrczxSZXN1bHRUeXBlPiA+
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKKyAgICBJREJDYWxsYmFja3MoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgdm9pZCogdXBjYXN0
UG9pbnRlcikKKyAgICAgICAgOiBBY3RpdmVET01PYmplY3Qoc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCwgdXBjYXN0UG9pbnRlcikgeyB9CiAgICAgdmlydHVhbCB+SURCQ2FsbGJhY2tzKCkgeyB9CiAK
ICAgICB2aXJ0dWFsIHZvaWQgb25TdWNjZXNzKFBhc3NSZWZQdHI8UmVzdWx0VHlwZT4pID0gMDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52656</attachid>
            <date>2010-04-06 12:29:21 -0700</date>
            <delta_ts>2010-04-06 13:14:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37154-20100406202919.patch</filename>
            <type>text/plain</type>
            <size>7719</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzlkZTI0Yy4uYWE5YjYwYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMC0wNC0wNiAgSmVyZW15IE9ybG93
ICA8am9ybG93QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBWOEN1c3RvbUlEQkNhbGxiYWNrczw+IHNob3VsZCBub3QgaG9sZCBh
IHJlZmVyZW5jZSB0byB0aGUgZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM3MTU0CisKKyAgICAgICAgRG9uJ3QgaG9sZCBvbiB0byBhIEZyYW1l
IHJlZmVyZW5jZS4KKyAgICAgICAgSW5zdGVhZCwgYmUgYW4gQWN0aXZlRE9NT2JqZWN0IGFuZCB1
c2Ugc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpCisgICAgICAgIHRvIGdldCB0aGUgdjggY29udGV4
dC4KKyAgICAgICAgRmFjdG9yIHRoZSBndXRzIG9mIG9uU3VjY2VzcyBhbmQgb25FcnJvciBvdXQu
CisKKyAgICAgICAgRG9lc24ndCB3b3JrIGVub3VnaCB0byB0ZXN0IHlldC4KKworICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUlEQkNhbGxiYWNrcy5oOgorICAgICAgICAoV2Vi
Q29yZTo6VjhDdXN0b21JREJDYWxsYmFja3M6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpW
OEN1c3RvbUlEQkNhbGxiYWNrczo6b25TdWNjZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OlY4Q3Vz
dG9tSURCQ2FsbGJhY2tzOjpvbkVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlY4Q3VzdG9tSURC
Q2FsbGJhY2tzOjpWOEN1c3RvbUlEQkNhbGxiYWNrcyk6CisgICAgICAgIChXZWJDb3JlOjpWOEN1
c3RvbUlEQkNhbGxiYWNrczo6b25FdmVudCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SW5kZXhlZERhdGFiYXNlUmVxdWVzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpW
OEluZGV4ZWREYXRhYmFzZVJlcXVlc3Q6Om9wZW5DYWxsYmFjayk6CisgICAgICAgICogc3RvcmFn
ZS9JREJDYWxsYmFja3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNhbGxiYWNrczo6SURCQ2Fs
bGJhY2tzKToKKwogMjAxMC0wNC0wNiAgVml0YWx5IFJlcGVzaGtvICA8dml0YWx5ckBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tSURCQ2FsbGJhY2tzLmggYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUlEQkNhbGxiYWNrcy5oCmluZGV4IGM3
MWFlYTEuLjgwNmZhNzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q3VzdG9tSURCQ2FsbGJhY2tzLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhD
dXN0b21JREJDYWxsYmFja3MuaApAQCAtMzEsMTAgKzMxLDEyIEBACiAjaWZuZGVmIFY4Q3VzdG9t
SURCQ2FsbGJhY2tzX2gKICNkZWZpbmUgVjhDdXN0b21JREJDYWxsYmFja3NfaAogCisjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNl
RXJyb3IuaCIKICNpbmNsdWRlICJWOEN1c3RvbVZvaWRDYWxsYmFjay5oIgogI2luY2x1ZGUgIlY4
SURCRGF0YWJhc2VFcnJvci5oIgorI2luY2x1ZGUgIldvcmxkQ29udGV4dEhhbmRsZS5oIgogI2lu
Y2x1ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgpAQCAtNDgsOSArNTAsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgUmVzdWx0VHlwZSwgdHlwZW5hbWUgUmVzdWx0V3JhcHBlclR5cGU+CiBj
bGFzcyBWOEN1c3RvbUlEQkNhbGxiYWNrcyA6IHB1YmxpYyBJREJDYWxsYmFja3M8UmVzdWx0VHlw
ZT4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFY4Q3VzdG9tSURCQ2FsbGJhY2tz
PiBjcmVhdGUodjg6OkxvY2FsPHY4OjpWYWx1ZT4gb25TdWNjZXNzLCB2ODo6TG9jYWw8djg6OlZh
bHVlPiBvbkVycm9yLCBGcmFtZSogZnJhbWUpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8VjhDdXN0
b21JREJDYWxsYmFja3M+IGNyZWF0ZSh2ODo6TG9jYWw8djg6OlZhbHVlPiBvblN1Y2Nlc3MsIHY4
OjpMb2NhbDx2ODo6VmFsdWU+IG9uRXJyb3IsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFY4
Q3VzdG9tSURCQ2FsbGJhY2tzKG9uU3VjY2Vzcywgb25FcnJvciwgZnJhbWUpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBWOEN1c3RvbUlEQkNhbGxiYWNrcyhvblN1Y2Nlc3MsIG9uRXJy
b3IsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5WOEN1
c3RvbUlEQkNhbGxiYWNrcygpCkBAIC02MSw1NCArNjMsNTcgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCB2b2lkIG9uU3VjY2VzcyhQYXNzUmVmUHRyPFJlc3VsdFR5cGU+IHJlc3VsdCkKICAgICB7
Ci0gICAgICAgIGlmIChtX29uU3VjY2Vzcy5Jc0VtcHR5KCkpCi0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKLSAgICAgICAgdjg6OkhhbmRs
ZTx2ODo6Q29udGV4dD4gY29udGV4dCA9IFY4UHJveHk6OmNvbnRleHQobV9mcmFtZS5nZXQoKSk7
Ci0gICAgICAgIGlmIChjb250ZXh0LklzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybjsKLQot
ICAgICAgICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUoY29udGV4dCk7Ci0gICAgICAgIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBhcmd2W10gPSB7Ci0gICAgICAgICAgICB0b1Y4KFJlc3VsdFdyYXBw
ZXJUeXBlOjpjcmVhdGUocmVzdWx0KSkKLSAgICAgICAgfTsKLSAgICAgICAgUmVmUHRyPEZyYW1l
PiBwcm90ZWN0b3IobV9mcmFtZSk7Ci0gICAgICAgIGJvb2wgY2FsbGJhY2tSZXR1cm5WYWx1ZSA9
IGZhbHNlOwotICAgICAgICAvLyBGSVhNRTogRG8gd2UgY2FyZSBpZiB0aGlzIHRoaW5nIHJldHVy
bnMgdHJ1ZSAoaS5lLiBpdCByYWlzZWQgYW4gZXhjZXB0aW9uKT8KLSAgICAgICAgaW52b2tlQ2Fs
bGJhY2sobV9vblN1Y2Nlc3MsIDEsIGFyZ3YsIGNhbGxiYWNrUmV0dXJuVmFsdWUpOworICAgICAg
ICBvbkV2ZW50KG1fb25TdWNjZXNzLCBSZXN1bHRXcmFwcGVyVHlwZTo6Y3JlYXRlKHJlc3VsdCkp
OwogICAgIH0KIAogICAgIHZpcnR1YWwgdm9pZCBvbkVycm9yKFBhc3NSZWZQdHI8SURCRGF0YWJh
c2VFcnJvcj4gZXJyb3IpCiAgICAgewotICAgICAgICBpZiAobV9vbkVycm9yLklzRW1wdHkoKSkK
KyAgICAgICAgb25FdmVudChtX29uRXJyb3IsIGVycm9yKTsKKyAgICB9CisKKyAgICAvLyBGSVhN
RTogSGFuZGxlIHN1c3BlbmQvcmVzdW1lIGNvcnJlY3RseS4KKworcHJpdmF0ZToKKyAgICBWOEN1
c3RvbUlEQkNhbGxiYWNrcyh2ODo6TG9jYWw8djg6OlZhbHVlPiBvblN1Y2Nlc3MsIHY4OjpMb2Nh
bDx2ODo6VmFsdWU+IG9uRXJyb3IsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQpCisgICAgICAgIDogSURCQ2FsbGJhY2tzPFJlc3VsdFR5cGU+KHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQsIHRoaXMpCisgICAgICAgICwgbV9vblN1Y2Nlc3Mob25TdWNjZXNzLT5J
c09iamVjdCgpID8gdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhvblN1Y2Nlc3MtPlRv
T2JqZWN0KCkpIDogdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4oKSkKKyAgICAgICAgLCBtX29u
RXJyb3Iob25FcnJvci0+SXNPYmplY3QoKSA/IHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+OjpO
ZXcob25FcnJvci0+VG9PYmplY3QoKSkgOiB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PigpKQor
ICAgICAgICAsIG1fd29ybGRDb250ZXh0KFVzZUN1cnJlbnRXb3JsZCkKKyAgICB7CisgICAgfQor
CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFR5cGU+CisgICAgdm9pZCBvbkV2ZW50KHY4OjpQZXJz
aXN0ZW50PHY4OjpPYmplY3Q+IGNhbGxiYWNrLCBQYXNzUmVmUHRyPFR5cGU+IHZhbHVlKQorICAg
IHsKKyAgICAgICAgaWYgKCFBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSkKICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKGNhbGxiYWNrLklzRW1wdHkoKSkK
KyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2Nv
cGU7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQgPSBWOFByb3h5Ojpj
b250ZXh0KG1fZnJhbWUuZ2V0KCkpOworICAgICAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBj
b250ZXh0ID0gdG9WOENvbnRleHQoQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCksIG1fd29ybGRDb250ZXh0KTsKICAgICAgICAgaWYgKGNvbnRleHQuSXNFbXB0eSgpKQog
ICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHY4OjpDb250ZXh0OjpTY29wZSBzY29wZShj
b250ZXh0KTsKICAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSA9IHsKLSAgICAg
ICAgICAgIHRvVjgoZXJyb3IpCisgICAgICAgICAgICB0b1Y4KHZhbHVlKQogICAgICAgICB9Owot
ICAgICAgICBSZWZQdHI8RnJhbWU+IHByb3RlY3RvcihtX2ZyYW1lKTsKKworICAgICAgICAvLyBG
SVhNRTogTWFrZSB0aGlzIHdvcmsgZm9yIHdvcmtlcnMuCisgICAgICAgIEFTU0VSVChBY3RpdmVE
T01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNEb2N1bWVudCgpKTsKKyAgICAg
ICAgUmVmUHRyPEZyYW1lPiBwcm90ZWN0b3Ioc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihBY3RpdmVE
T01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSktPmZyYW1lKCkpOworCiAgICAgICAg
IGJvb2wgY2FsbGJhY2tSZXR1cm5WYWx1ZSA9IGZhbHNlOwogICAgICAgICAvLyBGSVhNRTogRG8g
d2UgY2FyZSBpZiB0aGlzIHRoaW5nIHJldHVybnMgdHJ1ZSAoaS5lLiBpdCByYWlzZWQgYW4gZXhj
ZXB0aW9uKT8KLSAgICAgICAgaW52b2tlQ2FsbGJhY2sobV9vbkVycm9yLCAxLCBhcmd2LCBjYWxs
YmFja1JldHVyblZhbHVlKTsKKyAgICAgICAgaW52b2tlQ2FsbGJhY2soY2FsbGJhY2ssIDEsIGFy
Z3YsIGNhbGxiYWNrUmV0dXJuVmFsdWUpOwogICAgIH0KIAotcHJpdmF0ZToKLSAgICBWOEN1c3Rv
bUlEQkNhbGxiYWNrcyh2ODo6TG9jYWw8djg6OlZhbHVlPiBvblN1Y2Nlc3MsIHY4OjpMb2NhbDx2
ODo6VmFsdWU+IG9uRXJyb3IsIEZyYW1lKiBmcmFtZSkKLSAgICAgICAgOiBtX29uU3VjY2Vzcyhv
blN1Y2Nlc3MtPklzT2JqZWN0KCkgPyB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pjo6TmV3KG9u
U3VjY2Vzcy0+VG9PYmplY3QoKSkgOiB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PigpKQotICAg
ICAgICAsIG1fb25FcnJvcihvbkVycm9yLT5Jc09iamVjdCgpID8gdjg6OlBlcnNpc3RlbnQ8djg6
Ok9iamVjdD46Ok5ldyhvbkVycm9yLT5Ub09iamVjdCgpKSA6IHY4OjpQZXJzaXN0ZW50PHY4OjpP
YmplY3Q+KCkpCi0gICAgICAgICwgbV9mcmFtZShmcmFtZSkKLSAgICB7Ci0gICAgfQotCi0gICAg
Ly8gRklYTUU6IFNob3VsZCB0aGVzZSBiZSB2ODo6RnVuY3Rpb25zPyAgRm9yIHNvbWUgcmVhc29u
LCBWb2lkQ2FsbGJhY2sgKHdoaWNoIHRoaXMgY29waWVkKSB1c2VzIHY4OjpPYmplY3RzLgorICAg
IC8vIEZJWE1FOiBVc2UgT3duSGFuZGxlcy4KICAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0
PiBtX29uU3VjY2VzczsKICAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBtX29uRXJyb3I7
Ci0gICAgUmVmUHRyPEZyYW1lPiBtX2ZyYW1lOworCisgICAgV29ybGRDb250ZXh0SGFuZGxlIG1f
d29ybGRDb250ZXh0OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhJbmRleGVkRGF0YWJhc2VSZXF1ZXN0Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SW5kZXhlZERhdGFiYXNlUmVxdWVzdEN1c3RvbS5jcHAKaW5kZXggZTg0
OGQ4Ni4uYWZhYzcwMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJ
bmRleGVkRGF0YWJhc2VSZXF1ZXN0Q3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOEluZGV4ZWREYXRhYmFzZVJlcXVlc3RDdXN0b20uY3BwCkBAIC03Miw3ICs3Miw3
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEluZGV4ZWREYXRhYmFzZVJlcXVlc3Q6Om9wZW5D
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzCiAKICAgICBGcmFtZSogZnJhbWUgPSBWOFByb3h5
OjpyZXRyaWV2ZUZyYW1lRm9yQ3VycmVudENvbnRleHQoKTsKICAgICBSZWZQdHI8VjhDdXN0b21J
REJDYWxsYmFja3M8SURCRGF0YWJhc2UsIElEQkRhdGFiYXNlUmVxdWVzdD4gPiBjYWxsYmFja3Mg
PQotICAgICAgICBWOEN1c3RvbUlEQkNhbGxiYWNrczxJREJEYXRhYmFzZSwgSURCRGF0YWJhc2VS
ZXF1ZXN0Pjo6Y3JlYXRlKG9uU3VjY2Vzcywgb25FcnJvciwgZnJhbWUpOworICAgICAgICBWOEN1
c3RvbUlEQkNhbGxiYWNrczxJREJEYXRhYmFzZSwgSURCRGF0YWJhc2VSZXF1ZXN0Pjo6Y3JlYXRl
KG9uU3VjY2Vzcywgb25FcnJvciwgZnJhbWUtPmRvY3VtZW50KCkpOwogCiAgICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7CiAgICAgaW1wLT5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uLCBtb2RpZnlEYXRh
YmFzZSwgZWMsIGNhbGxiYWNrcyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCQ2Fs
bGJhY2tzLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCQ2FsbGJhY2tzLmgKaW5kZXggN2IwNmFjMy4u
YTdkMzUyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkNhbGxiYWNrcy5oCisrKyBi
L1dlYkNvcmUvc3RvcmFnZS9JREJDYWxsYmFja3MuaApAQCAtMjksNiArMjksNyBAQAogI2lmbmRl
ZiBJREJDYWxsYmFja3NfaAogI2RlZmluZSBJREJDYWxsYmFja3NfaAogCisjaW5jbHVkZSAiQWN0
aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogCkBAIC0zNyw4ICszOCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBJREJEYXRhYmFzZUVycm9yOwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgUmVzdWx0VHlw
ZT4KLWNsYXNzIElEQkNhbGxiYWNrcyA6IHB1YmxpYyBSZWZDb3VudGVkPElEQkNhbGxiYWNrczxS
ZXN1bHRUeXBlPiA+IHsKK2NsYXNzIElEQkNhbGxiYWNrcyA6IHB1YmxpYyBSZWZDb3VudGVkPElE
QkNhbGxiYWNrczxSZXN1bHRUeXBlPiA+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1Ymxp
YzoKKyAgICBJREJDYWxsYmFja3MoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCwgdm9pZCogdXBjYXN0UG9pbnRlcikKKyAgICAgICAgOiBBY3RpdmVET01PYmpl
Y3Qoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgdXBjYXN0UG9pbnRlcikgeyB9CiAgICAgdmlydHVh
bCB+SURCQ2FsbGJhY2tzKCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgb25TdWNjZXNzKFBhc3NS
ZWZQdHI8UmVzdWx0VHlwZT4pID0gMDsK
</data>
<flag name="review"
          id="36192"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>