<?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>57019</bug_id>
          
          <creation_ts>2011-03-24 08:47:39 -0700</creation_ts>
          <short_desc>JavaInstance should not use jvalue in its API</short_desc>
          <delta_ts>2011-03-29 16:47:07 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>57022</dependson>
          <blocked>55383</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andreip</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jorlow</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>372828</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-24 08:47:39 -0700</bug_when>
    <thetext>The JavaInstance API should represent a generic Java object and should be independent of JNI, to give embedders flexibility in how a Java object is provided. This means that the API should use a new JavaValue type to represent a Java value, rather than the JNI jvalue type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372829</commentid>
    <comment_count>1</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-24 08:48:30 -0700</bug_when>
    <thetext>See bug 55383.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375102</commentid>
    <comment_count>2</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-29 01:19:03 -0700</bug_when>
    <thetext>This bug tracks fixing only the V8 version of JavaInstance.

The JSC version can not be fixed until Bug 57023 is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375180</commentid>
    <comment_count>3</comment_count>
      <attachid>87296</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-29 04:12:53 -0700</bug_when>
    <thetext>Created attachment 87296
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375583</commentid>
    <comment_count>4</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2011-03-29 11:31:12 -0700</bug_when>
    <thetext>LGTM

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

&gt; Source/WebCore/bridge/jni/v8/JavaInstanceV8.cpp:76
&gt; +    jvalue* jvalueArgs = new jvalue[numParams];

Is there a scoped_pointer for arrays?

&gt; Source/WebCore/bridge/jni/v8/JavaInstanceV8.cpp:78
&gt; +        jvalueArgs[i] = javaValueToJvalue(args[i]);

Maybe add a comment to say that args is guaranteed to have at least numParams elements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375790</commentid>
    <comment_count>5</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-29 15:03:56 -0700</bug_when>
    <thetext>&gt; Is there a scoped_pointer for arrays?
Yes - OwnArrayPtr - fixed.

&gt; Maybe add a comment to say that args is guaranteed to have at least numParams elements.
I&apos;ve added a comment in the header. Note that this is not a new requirement, as previously the array was passed straight through to callJNIMethod().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375793</commentid>
    <comment_count>6</comment_count>
      <attachid>87413</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-29 15:06:50 -0700</bug_when>
    <thetext>Created attachment 87413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375798</commentid>
    <comment_count>7</comment_count>
      <attachid>87413</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-03-29 15:10:26 -0700</bug_when>
    <thetext>Comment on attachment 87413
Patch

r+ based on Andrei&apos;s review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375879</commentid>
    <comment_count>8</comment_count>
      <attachid>87413</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-29 16:47:03 -0700</bug_when>
    <thetext>Comment on attachment 87413
Patch

Clearing flags on attachment: 87413

Committed r82361: &lt;http://trac.webkit.org/changeset/82361&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375880</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-29 16:47:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87296</attachid>
            <date>2011-03-29 04:12:53 -0700</date>
            <delta_ts>2011-03-29 15:06:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57019-20110329121251.patch</filename>
            <type>text/plain</type>
            <size>6220</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODIyMDcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5M2I5Y2M1YjY1NWU3NzJh
YzJmOTRjNTVkNDI3NTgwZDc0NzllMGFmLi43Y2E1NmJlZDAzMDQ2OTIzODEzYzgxMjQyZDNkNDY1
MjNjMDMzMzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDMtMjkgIFN0ZXZl
IEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEphdmFJbnN0YW5jZSBzaG91bGQgbm90IHVzZSBqdmFs
dWUgaW4gaXRzIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTcwMTkKKworICAgICAgICBUaGlzIGNoYW5nZSB1cGRhdGVzIEphdmFJbnN0YW5jZSBm
b3IgVjggdG8gdXNlIEphdmFWYWx1ZSwgcmF0aGVyIHRoYW4KKyAgICAgICAganZhbHVlLCBpbiBp
dHMgQVBJLiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gY3JlYXRlIGFuIEFQSSBmb3IKKyAgICAgICAg
SmF2YUluc3RhbmNlIHRoYXQgaXMgaW5kZXBlbmRlbnQgb2YgSk5JLCB0byBhbGxvdyBpdCB0byBi
ZQorICAgICAgICBpbXBsZW1lbnRlZCBvbiBwbGF0Zm9ybXMgdGhhdCBkbyBub3QgdXNlIEpOSSBk
aXJlY3RseS4KKworICAgICAgICBSZWZhY3RvcmluZyBvbmx5LCBubyBuZXcgdGVzdHMuCisKKyAg
ICAgICAgKiBicmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmNwcDoKKyAgICAgICAgKEphdmFJ
bnN0YW5jZTo6aW52b2tlTWV0aG9kKToKKyAgICAgICAgKEphdmFJbnN0YW5jZTo6Z2V0RmllbGQp
OgorICAgICAgICAqIGJyaWRnZS9qbmkvdjgvSmF2YUluc3RhbmNlVjguaDoKKyAgICAgICAgKiBi
cmlkZ2Uvam5pL3Y4L0phdmFOUE9iamVjdFY4LmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6
OkphdmFOUE9iamVjdEludm9rZSk6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpKYXZhTlBPYmpl
Y3RHZXRQcm9wZXJ0eSk6CisgICAgICAgICogYnJpZGdlL2puaS92OC9KYXZhVmFsdWVWOC5oOgor
CiAyMDExLTAzLTI4ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODIxOTguCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YUluc3RhbmNlVjguY3BwCmluZGV4IGEwNzI5NWM4ZmVh
YTI4ZTA3NDc1MjI5MjEyMjA3NjhkMmRiZTJiOGUuLmM2ZWE5ZGU3ZWM2ODc5NDkwODZiYzAyNDI3
ZDY2MjEyYzk1MzI4MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgv
SmF2YUluc3RhbmNlVjguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2
YUluc3RhbmNlVjguY3BwCkBAIC02OSwxNiArNjksMjIgQEAgSmF2YUNsYXNzKiBKYXZhSW5zdGFu
Y2U6OmdldENsYXNzKCkgY29uc3QKICAgICByZXR1cm4gbV9jbGFzczsKIH0KIAotanZhbHVlIEph
dmFJbnN0YW5jZTo6aW52b2tlTWV0aG9kKGNvbnN0IEphdmFNZXRob2QqIG1ldGhvZCwganZhbHVl
KiBhcmdzKQorSmF2YVZhbHVlIEphdmFJbnN0YW5jZTo6aW52b2tlTWV0aG9kKGNvbnN0IEphdmFN
ZXRob2QqIG1ldGhvZCwgSmF2YVZhbHVlKiBhcmdzKQogewogICAgIEFTU0VSVChnZXRDbGFzcygp
LT5tZXRob2RzTmFtZWQobWV0aG9kLT5uYW1lKCkudXRmOCgpKS5maW5kKG1ldGhvZCkgIT0gbm90
Rm91bmQpOwotICAgIHJldHVybiBjYWxsSk5JTWV0aG9kKGphdmFJbnN0YW5jZSgpLCBtZXRob2Qt
PnJldHVyblR5cGUoKSwgbWV0aG9kLT5uYW1lKCkudXRmOCgpLCBtZXRob2QtPnNpZ25hdHVyZSgp
LCBhcmdzKTsKKyAgICB1bnNpZ25lZCBpbnQgbnVtUGFyYW1zID0gbWV0aG9kLT5udW1QYXJhbWV0
ZXJzKCk7CisgICAganZhbHVlKiBqdmFsdWVBcmdzID0gbmV3IGp2YWx1ZVtudW1QYXJhbXNdOwor
ICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnVtUGFyYW1zOyArK2kpCisgICAgICAg
IGp2YWx1ZUFyZ3NbaV0gPSBqYXZhVmFsdWVUb0p2YWx1ZShhcmdzW2ldKTsKKyAgICBqdmFsdWUg
cmVzdWx0ID0gY2FsbEpOSU1ldGhvZChqYXZhSW5zdGFuY2UoKSwgbWV0aG9kLT5yZXR1cm5UeXBl
KCksIG1ldGhvZC0+bmFtZSgpLnV0ZjgoKSwgbWV0aG9kLT5zaWduYXR1cmUoKSwganZhbHVlQXJn
cyk7CisgICAgZGVsZXRlW10ganZhbHVlQXJnczsKKyAgICByZXR1cm4ganZhbHVlVG9KYXZhVmFs
dWUocmVzdWx0LCBtZXRob2QtPnJldHVyblR5cGUoKSk7CiB9CiAKLWp2YWx1ZSBKYXZhSW5zdGFu
Y2U6OmdldEZpZWxkKGNvbnN0IEphdmFGaWVsZCogZmllbGQpCitKYXZhVmFsdWUgSmF2YUluc3Rh
bmNlOjpnZXRGaWVsZChjb25zdCBKYXZhRmllbGQqIGZpZWxkKQogewogICAgIEFTU0VSVChnZXRD
bGFzcygpLT5maWVsZE5hbWVkKGZpZWxkLT5uYW1lKCkudXRmOCgpKSA9PSBmaWVsZCk7Ci0gICAg
cmV0dXJuIGdldEpOSUZpZWxkKGphdmFJbnN0YW5jZSgpLCBmaWVsZC0+dHlwZSgpLCBmaWVsZC0+
bmFtZSgpLnV0ZjgoKSwgZmllbGQtPnR5cGVDbGFzc05hbWUoKSk7CisgICAgcmV0dXJuIGp2YWx1
ZVRvSmF2YVZhbHVlKGdldEpOSUZpZWxkKGphdmFJbnN0YW5jZSgpLCBmaWVsZC0+dHlwZSgpLCBm
aWVsZC0+bmFtZSgpLnV0ZjgoKSwgZmllbGQtPnR5cGVDbGFzc05hbWUoKSksIGZpZWxkLT50eXBl
KCkpOwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEpBVkFfQlJJREdFKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhSW5zdGFuY2VWOC5oIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL2puaS92OC9KYXZhSW5zdGFuY2VWOC5oCmluZGV4IGRlMDcwNmUzMGFjZWRjZmM1
NDhiNmIxYjg2OGQzZGVlNWE2MThjNmUuLmE0YTc2ZjdiYzIyMjg4NjA2OTYzNzE5ZTFlODVjYmUw
Mjg5ZjJkZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YUlu
c3RhbmNlVjguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5j
ZVY4LmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpZiBFTkFCTEUoSkFWQV9CUklER0UpCiAKICNpbmNs
dWRlICJKTklVdGlsaXR5LmgiCisjaW5jbHVkZSAiSmF2YVZhbHVlVjguaCIKICNpbmNsdWRlICJK
b2JqZWN0V3JhcHBlci5oIgogI2luY2x1ZGUgIm5wcnVudGltZS5oIgogCkBAIC01Miw4ICs1Myw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5KYXZhSW5zdGFuY2UoKTsKIAogICAgIEphdmFDbGFz
cyogZ2V0Q2xhc3MoKSBjb25zdDsKLSAgICBqdmFsdWUgaW52b2tlTWV0aG9kKGNvbnN0IEphdmFN
ZXRob2QqLCBqdmFsdWUqIGFyZ3MpOwotICAgIGp2YWx1ZSBnZXRGaWVsZChjb25zdCBKYXZhRmll
bGQqKTsKKyAgICBKYXZhVmFsdWUgaW52b2tlTWV0aG9kKGNvbnN0IEphdmFNZXRob2QqLCBKYXZh
VmFsdWUqIGFyZ3MpOworICAgIEphdmFWYWx1ZSBnZXRGaWVsZChjb25zdCBKYXZhRmllbGQqKTsK
ICAgICBqb2JqZWN0IGphdmFJbnN0YW5jZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5zdGFuY2UtPm1f
aW5zdGFuY2U7IH0KIAogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIGJlZm9yZSBh
bmQgYWZ0ZXIgdGhlIG1haW4gZW50cnkgcG9pbnRzIGludG8KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YU5QT2JqZWN0VjguY3BwIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL2puaS92OC9KYXZhTlBPYmplY3RWOC5jcHAKaW5kZXggYTgwZWJiYjQ3M2UwMWRjNTMy
NjU0YzZiZGU1OTc5N2RlYmRjN2NkNi4uYTgzZmM2N2JjNTU2MjlhZjc5NTU5MzBlZGM4ZmM2ODkw
ZjI4MDU4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhTlBP
YmplY3RWOC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhTlBPYmpl
Y3RWOC5jcHAKQEAgLTE0MCwxOSArMTQwLDE2IEBAIGJvb2wgSmF2YU5QT2JqZWN0SW52b2tlKE5Q
T2JqZWN0KiBvYmosIE5QSWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBOUFZhcmlhbnQqCiAg
ICAgaWYgKCFqTWV0aG9kKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBqdmFsdWUqIGpB
cmdzID0gMDsKLSAgICBpZiAoYXJnQ291bnQgPiAwKQotICAgICAgICBqQXJncyA9IHN0YXRpY19j
YXN0PGp2YWx1ZSo+KG1hbGxvYyhhcmdDb3VudCAqIHNpemVvZihqdmFsdWUpKSk7Ci0KKyAgICBK
YXZhVmFsdWUqIGpBcmdzID0gbmV3IEphdmFWYWx1ZVthcmdDb3VudF07CiAgICAgZm9yICh1bnNp
Z25lZCBpbnQgaSA9IDA7IGkgPCBhcmdDb3VudDsgaSsrKQotICAgICAgICBqQXJnc1tpXSA9IGph
dmFWYWx1ZVRvSnZhbHVlKGNvbnZlcnROUFZhcmlhbnRUb0phdmFWYWx1ZShhcmdzW2ldLCBqTWV0
aG9kLT5wYXJhbWV0ZXJBdChpKSkpOworICAgICAgICBqQXJnc1tpXSA9IGNvbnZlcnROUFZhcmlh
bnRUb0phdmFWYWx1ZShhcmdzW2ldLCBqTWV0aG9kLT5wYXJhbWV0ZXJBdChpKSk7CiAKLSAgICBq
dmFsdWUgalJlc3VsdCA9IGluc3RhbmNlLT5pbnZva2VNZXRob2Qoak1ldGhvZCwgakFyZ3MpOwor
ICAgIEphdmFWYWx1ZSBqUmVzdWx0ID0gaW5zdGFuY2UtPmludm9rZU1ldGhvZChqTWV0aG9kLCBq
QXJncyk7CiAgICAgaW5zdGFuY2UtPmVuZCgpOwotICAgIGZyZWUoakFyZ3MpOworICAgIGRlbGV0
ZVtdIGpBcmdzOwogCiAgICAgVk9JRF9UT19OUFZBUklBTlQoKnJlc3VsdCk7Ci0gICAgY29udmVy
dEphdmFWYWx1ZVRvTlBWYXJpYW50KGp2YWx1ZVRvSmF2YVZhbHVlKGpSZXN1bHQsIGpNZXRob2Qt
PnJldHVyblR5cGUoKSksIHJlc3VsdCk7CisgICAgY29udmVydEphdmFWYWx1ZVRvTlBWYXJpYW50
KGpSZXN1bHQsIHJlc3VsdCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTE4NywxMCArMTg0
LDEwIEBAIGJvb2wgSmF2YU5QT2JqZWN0R2V0UHJvcGVydHkoTlBPYmplY3QqIG9iaiwgTlBJZGVu
dGlmaWVyIGlkZW50aWZpZXIsIE5QVmFyaWFudCoKICAgICBpZiAoIWZpZWxkKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBqdmFsdWUgdmFsdWUgPSBpbnN0YW5jZS0+Z2V0RmllbGQoZmll
bGQpOworICAgIEphdmFWYWx1ZSB2YWx1ZSA9IGluc3RhbmNlLT5nZXRGaWVsZChmaWVsZCk7CiAg
ICAgaW5zdGFuY2UtPmVuZCgpOwogCi0gICAgY29udmVydEphdmFWYWx1ZVRvTlBWYXJpYW50KGp2
YWx1ZVRvSmF2YVZhbHVlKHZhbHVlLCBmaWVsZC0+dHlwZSgpKSwgcmVzdWx0KTsKKyAgICBjb252
ZXJ0SmF2YVZhbHVlVG9OUFZhcmlhbnQodmFsdWUsIHJlc3VsdCk7CiAKICAgICByZXR1cm4gdHJ1
ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YVZhbHVl
VjguaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YVZhbHVlVjguaAppbmRleCA1
Yjg1YzUxMzMwNTIxMzg4MDY5OGRkZGMzNjU2YmZmZDQ2Nzc3MTZlLi4zZTFjNjIzYzE3ZjIxNzUz
NTJlMjE0NTM0ZDQwZWY5YmI2Mjg3MTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvam5pL3Y4L0phdmFWYWx1ZVY4LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92
OC9KYXZhVmFsdWVWOC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoSkFWQV9CUklE
R0UpCiAKLSNpbmNsdWRlICJKYXZhSW5zdGFuY2VWOC5oIgogI2luY2x1ZGUgIkphdmFUeXBlLmgi
CiAKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTM3LDYgKzM2LDggQEAgbmFt
ZXNwYWNlIEpTQyB7CiAKIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKK2NsYXNzIEphdmFJbnN0YW5j
ZTsKKwogLy8gQSB2YXJpYW50IHVzZWQgdG8gcmVwcmVzZW50IGEgSmF2YSB2YWx1ZSwgYWxtb3N0
IGlkZW50aWNhbCB0byB0aGUgSk5JCiAvLyBqdmFsdWUgdHlwZS4gSXQgZXhpc3RzIGJlY2F1c2Ug
dGhlIGxvZ2ljIHRvIGNvbnZlcnQgYmV0d2VlbiBKYXZhU2NyaXB0CiAvLyBvYmplY3RzIChhcyBK
YXZhTlBPYmplY3Qgb3IgSlNWYWx1ZSkgYW5kIEphdmEgb2JqZWN0cyBzaG91bGQgbm90IGRlcGVu
ZCB1cG9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87413</attachid>
            <date>2011-03-29 15:06:50 -0700</date>
            <delta_ts>2011-03-29 16:47:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57019-20110329230648.patch</filename>
            <type>text/plain</type>
            <size>6515</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODIyMDcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5M2I5Y2M1YjY1NWU3NzJh
YzJmOTRjNTVkNDI3NTgwZDc0NzllMGFmLi43Y2E1NmJlZDAzMDQ2OTIzODEzYzgxMjQyZDNkNDY1
MjNjMDMzMzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDMtMjkgIFN0ZXZl
IEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEphdmFJbnN0YW5jZSBzaG91bGQgbm90IHVzZSBqdmFs
dWUgaW4gaXRzIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTcwMTkKKworICAgICAgICBUaGlzIGNoYW5nZSB1cGRhdGVzIEphdmFJbnN0YW5jZSBm
b3IgVjggdG8gdXNlIEphdmFWYWx1ZSwgcmF0aGVyIHRoYW4KKyAgICAgICAganZhbHVlLCBpbiBp
dHMgQVBJLiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gY3JlYXRlIGFuIEFQSSBmb3IKKyAgICAgICAg
SmF2YUluc3RhbmNlIHRoYXQgaXMgaW5kZXBlbmRlbnQgb2YgSk5JLCB0byBhbGxvdyBpdCB0byBi
ZQorICAgICAgICBpbXBsZW1lbnRlZCBvbiBwbGF0Zm9ybXMgdGhhdCBkbyBub3QgdXNlIEpOSSBk
aXJlY3RseS4KKworICAgICAgICBSZWZhY3RvcmluZyBvbmx5LCBubyBuZXcgdGVzdHMuCisKKyAg
ICAgICAgKiBicmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmNwcDoKKyAgICAgICAgKEphdmFJ
bnN0YW5jZTo6aW52b2tlTWV0aG9kKToKKyAgICAgICAgKEphdmFJbnN0YW5jZTo6Z2V0RmllbGQp
OgorICAgICAgICAqIGJyaWRnZS9qbmkvdjgvSmF2YUluc3RhbmNlVjguaDoKKyAgICAgICAgKiBi
cmlkZ2Uvam5pL3Y4L0phdmFOUE9iamVjdFY4LmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6
OkphdmFOUE9iamVjdEludm9rZSk6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpKYXZhTlBPYmpl
Y3RHZXRQcm9wZXJ0eSk6CisgICAgICAgICogYnJpZGdlL2puaS92OC9KYXZhVmFsdWVWOC5oOgor
CiAyMDExLTAzLTI4ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODIxOTguCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YUluc3RhbmNlVjguY3BwCmluZGV4IGEwNzI5NWM4ZmVh
YTI4ZTA3NDc1MjI5MjEyMjA3NjhkMmRiZTJiOGUuLjJkNjRiYzdlOWQzYWYxMDE1MDZmNDMzOThl
MDZkMWQ2YjRjZWVhOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgv
SmF2YUluc3RhbmNlVjguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2
YUluc3RhbmNlVjguY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiSmF2YUZpZWxkVjgu
aCIKICNpbmNsdWRlICJKYXZhTWV0aG9kLmgiCiAKKyNpbmNsdWRlIDx3dGYvT3duQXJyYXlQdHIu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M6
OkJpbmRpbmdzOwpAQCAtNjksMTYgKzcwLDIxIEBAIEphdmFDbGFzcyogSmF2YUluc3RhbmNlOjpn
ZXRDbGFzcygpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2xhc3M7CiB9CiAKLWp2YWx1ZSBKYXZhSW5z
dGFuY2U6Omludm9rZU1ldGhvZChjb25zdCBKYXZhTWV0aG9kKiBtZXRob2QsIGp2YWx1ZSogYXJn
cykKK0phdmFWYWx1ZSBKYXZhSW5zdGFuY2U6Omludm9rZU1ldGhvZChjb25zdCBKYXZhTWV0aG9k
KiBtZXRob2QsIEphdmFWYWx1ZSogYXJncykKIHsKICAgICBBU1NFUlQoZ2V0Q2xhc3MoKS0+bWV0
aG9kc05hbWVkKG1ldGhvZC0+bmFtZSgpLnV0ZjgoKSkuZmluZChtZXRob2QpICE9IG5vdEZvdW5k
KTsKLSAgICByZXR1cm4gY2FsbEpOSU1ldGhvZChqYXZhSW5zdGFuY2UoKSwgbWV0aG9kLT5yZXR1
cm5UeXBlKCksIG1ldGhvZC0+bmFtZSgpLnV0ZjgoKSwgbWV0aG9kLT5zaWduYXR1cmUoKSwgYXJn
cyk7CisgICAgdW5zaWduZWQgaW50IG51bVBhcmFtcyA9IG1ldGhvZC0+bnVtUGFyYW1ldGVycygp
OworICAgIE93bkFycmF5UHRyPGp2YWx1ZT4ganZhbHVlQXJncyA9IGFkb3B0QXJyYXlQdHIobmV3
IGp2YWx1ZVtudW1QYXJhbXNdKTsKKyAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG51
bVBhcmFtczsgKytpKQorICAgICAgICBqdmFsdWVBcmdzW2ldID0gamF2YVZhbHVlVG9KdmFsdWUo
YXJnc1tpXSk7CisgICAganZhbHVlIHJlc3VsdCA9IGNhbGxKTklNZXRob2QoamF2YUluc3RhbmNl
KCksIG1ldGhvZC0+cmV0dXJuVHlwZSgpLCBtZXRob2QtPm5hbWUoKS51dGY4KCksIG1ldGhvZC0+
c2lnbmF0dXJlKCksIGp2YWx1ZUFyZ3MuZ2V0KCkpOworICAgIHJldHVybiBqdmFsdWVUb0phdmFW
YWx1ZShyZXN1bHQsIG1ldGhvZC0+cmV0dXJuVHlwZSgpKTsKIH0KIAotanZhbHVlIEphdmFJbnN0
YW5jZTo6Z2V0RmllbGQoY29uc3QgSmF2YUZpZWxkKiBmaWVsZCkKK0phdmFWYWx1ZSBKYXZhSW5z
dGFuY2U6OmdldEZpZWxkKGNvbnN0IEphdmFGaWVsZCogZmllbGQpCiB7CiAgICAgQVNTRVJUKGdl
dENsYXNzKCktPmZpZWxkTmFtZWQoZmllbGQtPm5hbWUoKS51dGY4KCkpID09IGZpZWxkKTsKLSAg
ICByZXR1cm4gZ2V0Sk5JRmllbGQoamF2YUluc3RhbmNlKCksIGZpZWxkLT50eXBlKCksIGZpZWxk
LT5uYW1lKCkudXRmOCgpLCBmaWVsZC0+dHlwZUNsYXNzTmFtZSgpKTsKKyAgICByZXR1cm4ganZh
bHVlVG9KYXZhVmFsdWUoZ2V0Sk5JRmllbGQoamF2YUluc3RhbmNlKCksIGZpZWxkLT50eXBlKCks
IGZpZWxkLT5uYW1lKCkudXRmOCgpLCBmaWVsZC0+dHlwZUNsYXNzTmFtZSgpKSwgZmllbGQtPnR5
cGUoKSk7CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoSkFWQV9CUklER0UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmggYi9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmgKaW5kZXggZGUwNzA2ZTMwYWNlZGNm
YzU0OGI2YjFiODY4ZDNkZWU1YTYxOGM2ZS4uYjExNTBmOGY5MDAyYTc2MWE0ZDlhOTdmODliOGQx
YzNhYjlhZmUyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZh
SW5zdGFuY2VWOC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YUluc3Rh
bmNlVjguaApAQCAtMzAsNiArMzAsNyBAQAogI2lmIEVOQUJMRShKQVZBX0JSSURHRSkKIAogI2lu
Y2x1ZGUgIkpOSVV0aWxpdHkuaCIKKyNpbmNsdWRlICJKYXZhVmFsdWVWOC5oIgogI2luY2x1ZGUg
IkpvYmplY3RXcmFwcGVyLmgiCiAjaW5jbHVkZSAibnBydW50aW1lLmgiCiAKQEAgLTUyLDggKzUz
LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5KYXZhSW5zdGFuY2UoKTsKIAogICAgIEphdmFD
bGFzcyogZ2V0Q2xhc3MoKSBjb25zdDsKLSAgICBqdmFsdWUgaW52b2tlTWV0aG9kKGNvbnN0IEph
dmFNZXRob2QqLCBqdmFsdWUqIGFyZ3MpOwotICAgIGp2YWx1ZSBnZXRGaWVsZChjb25zdCBKYXZh
RmllbGQqKTsKKyAgICAvLyBhcmdzIG11c3QgYmUgYW4gYXJyYXkgb2YgbGVuZ3RoIGdyZWF0ZXIg
dGhhbiBvciBlcXVhbCB0byB0aGUgbnVtYmVyIG9mCisgICAgLy8gYXJndW1lbnRzIGV4cGVjdGVk
IGJ5IHRoZSBtZXRob2QuCisgICAgSmF2YVZhbHVlIGludm9rZU1ldGhvZChjb25zdCBKYXZhTWV0
aG9kKiwgSmF2YVZhbHVlKiBhcmdzKTsKKyAgICBKYXZhVmFsdWUgZ2V0RmllbGQoY29uc3QgSmF2
YUZpZWxkKik7CiAgICAgam9iamVjdCBqYXZhSW5zdGFuY2UoKSBjb25zdCB7IHJldHVybiBtX2lu
c3RhbmNlLT5tX2luc3RhbmNlOyB9CiAKICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgYXJlIGNhbGxl
ZCBiZWZvcmUgYW5kIGFmdGVyIHRoZSBtYWluIGVudHJ5IHBvaW50cyBpbnRvCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFOUE9iamVjdFY4LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YU5QT2JqZWN0VjguY3BwCmluZGV4IGE4MGViYmI0
NzNlMDFkYzUzMjY1NGM2YmRlNTk3OTdkZWJkYzdjZDYuLmE4M2ZjNjdiYzU1NjI5YWY3OTU1OTMw
ZWRjOGZjNjg5MGYyODA1OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkv
djgvSmF2YU5QT2JqZWN0VjguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgv
SmF2YU5QT2JqZWN0VjguY3BwCkBAIC0xNDAsMTkgKzE0MCwxNiBAQCBib29sIEphdmFOUE9iamVj
dEludm9rZShOUE9iamVjdCogb2JqLCBOUElkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgTlBW
YXJpYW50KgogICAgIGlmICghak1ldGhvZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
anZhbHVlKiBqQXJncyA9IDA7Ci0gICAgaWYgKGFyZ0NvdW50ID4gMCkKLSAgICAgICAgakFyZ3Mg
PSBzdGF0aWNfY2FzdDxqdmFsdWUqPihtYWxsb2MoYXJnQ291bnQgKiBzaXplb2YoanZhbHVlKSkp
OwotCisgICAgSmF2YVZhbHVlKiBqQXJncyA9IG5ldyBKYXZhVmFsdWVbYXJnQ291bnRdOwogICAg
IGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgYXJnQ291bnQ7IGkrKykKLSAgICAgICAgakFy
Z3NbaV0gPSBqYXZhVmFsdWVUb0p2YWx1ZShjb252ZXJ0TlBWYXJpYW50VG9KYXZhVmFsdWUoYXJn
c1tpXSwgak1ldGhvZC0+cGFyYW1ldGVyQXQoaSkpKTsKKyAgICAgICAgakFyZ3NbaV0gPSBjb252
ZXJ0TlBWYXJpYW50VG9KYXZhVmFsdWUoYXJnc1tpXSwgak1ldGhvZC0+cGFyYW1ldGVyQXQoaSkp
OwogCi0gICAganZhbHVlIGpSZXN1bHQgPSBpbnN0YW5jZS0+aW52b2tlTWV0aG9kKGpNZXRob2Qs
IGpBcmdzKTsKKyAgICBKYXZhVmFsdWUgalJlc3VsdCA9IGluc3RhbmNlLT5pbnZva2VNZXRob2Qo
ak1ldGhvZCwgakFyZ3MpOwogICAgIGluc3RhbmNlLT5lbmQoKTsKLSAgICBmcmVlKGpBcmdzKTsK
KyAgICBkZWxldGVbXSBqQXJnczsKIAogICAgIFZPSURfVE9fTlBWQVJJQU5UKCpyZXN1bHQpOwot
ICAgIGNvbnZlcnRKYXZhVmFsdWVUb05QVmFyaWFudChqdmFsdWVUb0phdmFWYWx1ZShqUmVzdWx0
LCBqTWV0aG9kLT5yZXR1cm5UeXBlKCkpLCByZXN1bHQpOworICAgIGNvbnZlcnRKYXZhVmFsdWVU
b05QVmFyaWFudChqUmVzdWx0LCByZXN1bHQpOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0x
ODcsMTAgKzE4NCwxMCBAQCBib29sIEphdmFOUE9iamVjdEdldFByb3BlcnR5KE5QT2JqZWN0KiBv
YmosIE5QSWRlbnRpZmllciBpZGVudGlmaWVyLCBOUFZhcmlhbnQqCiAgICAgaWYgKCFmaWVsZCkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAganZhbHVlIHZhbHVlID0gaW5zdGFuY2UtPmdl
dEZpZWxkKGZpZWxkKTsKKyAgICBKYXZhVmFsdWUgdmFsdWUgPSBpbnN0YW5jZS0+Z2V0RmllbGQo
ZmllbGQpOwogICAgIGluc3RhbmNlLT5lbmQoKTsKIAotICAgIGNvbnZlcnRKYXZhVmFsdWVUb05Q
VmFyaWFudChqdmFsdWVUb0phdmFWYWx1ZSh2YWx1ZSwgZmllbGQtPnR5cGUoKSksIHJlc3VsdCk7
CisgICAgY29udmVydEphdmFWYWx1ZVRvTlBWYXJpYW50KHZhbHVlLCByZXN1bHQpOwogCiAgICAg
cmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4
L0phdmFWYWx1ZVY4LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFWYWx1ZVY4
LmgKaW5kZXggNWI4NWM1MTMzMDUyMTM4ODA2OThkZGRjMzY1NmJmZmQ0Njc3NzE2ZS4uM2UxYzYy
M2MxN2YyMTc1MzUyZTIxNDUzNGQ0MGVmOWJiNjI4NzE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYnJpZGdlL2puaS92OC9KYXZhVmFsdWVWOC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9qbmkvdjgvSmF2YVZhbHVlVjguaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxF
KEpBVkFfQlJJREdFKQogCi0jaW5jbHVkZSAiSmF2YUluc3RhbmNlVjguaCIKICNpbmNsdWRlICJK
YXZhVHlwZS5oIgogCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC0zNyw2ICsz
Niw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiBuYW1lc3BhY2UgQmluZGluZ3MgewogCitjbGFzcyBK
YXZhSW5zdGFuY2U7CisKIC8vIEEgdmFyaWFudCB1c2VkIHRvIHJlcHJlc2VudCBhIEphdmEgdmFs
dWUsIGFsbW9zdCBpZGVudGljYWwgdG8gdGhlIEpOSQogLy8ganZhbHVlIHR5cGUuIEl0IGV4aXN0
cyBiZWNhdXNlIHRoZSBsb2dpYyB0byBjb252ZXJ0IGJldHdlZW4gSmF2YVNjcmlwdAogLy8gb2Jq
ZWN0cyAoYXMgSmF2YU5QT2JqZWN0IG9yIEpTVmFsdWUpIGFuZCBKYXZhIG9iamVjdHMgc2hvdWxk
IG5vdCBkZXBlbmQgdXBvbgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>