<?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>55766</bug_id>
          
          <creation_ts>2011-03-04 04:32:07 -0800</creation_ts>
          <short_desc>JavaField should not expose JavaString in its API</short_desc>
          <delta_ts>2011-03-31 03:05:10 -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>Other</rep_platform>
          <op_sys>Other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>55383</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Steve Block">steveblock</assigned_to>
          <cc>andreip</cc>
    
    <cc>jorlow</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>362415</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-04 04:32:07 -0800</bug_when>
    <thetext>JavaField, which is used by the Java bridge to represent a field of a Java class, uses JavaString for the return value of its name() method. JavaString is a utility class intended to convert from the JNI string type jstring to WTF::String and char*. There&apos;s no need for JavaField to expose this utility type in its API. Instead it should just expose WTF::String, using JavaString internally where appropriate.

See also Bug 55765.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376263</commentid>
    <comment_count>1</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-30 06:37:15 -0700</bug_when>
    <thetext>Note that V8 and JSC use different implementations of JavaField. This bug tracks fixing V8&apos;s implementation only.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376266</commentid>
    <comment_count>2</comment_count>
      <attachid>87523</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-30 06:40:09 -0700</bug_when>
    <thetext>Created attachment 87523
Patch 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376550</commentid>
    <comment_count>3</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2011-03-30 11:53:54 -0700</bug_when>
    <thetext>LGTM


&gt; Source/WebCore/bridge/jni/v8/JavaClassV8.cpp:56
&gt;          }

Why the { } ?

&gt; Source/WebCore/bridge/jni/v8/JavaFieldJobjectV8.h:45
&gt; +    virtual const char* typeClassName() const { return m_typeClassName.utf8(); }

I wish we didn&apos;t have this inconsistency: one method returns a String, the next returns a char*...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376616</commentid>
    <comment_count>4</comment_count>
      <attachid>87523</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-03-30 13:17:11 -0700</bug_when>
    <thetext>Comment on attachment 87523
Patch 1

rubber stamp cause of andreip&apos;s LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377014</commentid>
    <comment_count>5</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-31 02:46:30 -0700</bug_when>
    <thetext>&gt; Why the { } ?
Looks like an oversight from when this class was copied from the JSC version, which uses these brackets to scope a JSLock. Will remove on landing.

&gt; I wish we didn&apos;t have this inconsistency: one method returns a String, the next returns a char*...
Agreed. Tracking in Bug 57443 and will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377022</commentid>
    <comment_count>6</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-31 03:05:10 -0700</bug_when>
    <thetext>Committed r82554: &lt;http://trac.webkit.org/changeset/82554&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87523</attachid>
            <date>2011-03-30 06:40:09 -0700</date>
            <delta_ts>2011-03-30 13:17:11 -0700</delta_ts>
            <desc>Patch 1</desc>
            <filename>javaFieldInterface.txt</filename>
            <type>text/plain</type>
            <size>13921</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tayBiL1NvdXJj
ZS9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawppbmRleCA4MWU0NzBkLi4zODZkMjkyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsKKysrIGIvU291
cmNlL1dlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCkBAIC0xNzksNyArMTc5LDcgQEAgTE9D
QUxfU1JDX0ZJTEVTICs9IFwKIAlicmlkZ2Uvam5pL0pvYmplY3RXcmFwcGVyLmNwcCBcCiAJYnJp
ZGdlL2puaS92OC9KTklVdGlsaXR5UHJpdmF0ZS5jcHAgXAogCWJyaWRnZS9qbmkvdjgvSmF2YUNs
YXNzVjguY3BwIFwKLQlicmlkZ2Uvam5pL3Y4L0phdmFGaWVsZFY4LmNwcCBcCisJYnJpZGdlL2pu
aS92OC9KYXZhRmllbGRKb2JqZWN0VjguY3BwIFwKIAlicmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5j
ZVY4LmNwcCBcCiAJYnJpZGdlL2puaS92OC9KYXZhTlBPYmplY3QuY3BwIFwKIAlicmlkZ2Uvam5p
L3Y4L0pvYmplY3RXcmFwcGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGM5MzY5NjYuLjQxNDJkNzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAxMS0wMy0zMCAgU3RldmUgQmxvY2sgIDxzdGV2
ZWJsb2NrQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSmF2YUZpZWxkIHNob3VsZCBub3QgZXhwb3NlIEphdmFTdHJpbmcgaW4gaXRz
IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU3
NjYKKworICAgICAgICBUaGlzIHBhdGNoIGZpeGVzIEphdmFGaWVsZCBmb3IgVjggb25seS4KKyAg
ICAgICAgLSBGYWN0b3JzIG91dCBhIEphdmFGaWVsZCBpbnRlcmZhY2Ugd2hpY2ggZG9lcyBub3Qg
dXNlIEpOSSB0eXBlcy4KKyAgICAgICAgICBUaGlzIHdpbGwgYWxsb3cgdGhlIEphdmEgYnJpZGdl
IHRvIGJlIHVzZWQgd2l0aCBvYmplY3RzIHRoYXQKKyAgICAgICAgICBkb24ndCB1c2UgSk5JIGRp
cmVjdGx5LiBUaGUgZXhpc3Rpbmcgam9iamVjdC1iYWNrZWQKKyAgICAgICAgICBpbXBsZW1lbnRh
dGlvbiBpcyBtb3ZlZCB0byBhIG5ldyBKYXZhRmllbGRKb2JqZWN0IGNsYXNzIHdoaWNoCisgICAg
ICAgICAgaW1wbGVtZW50cyB0aGUgaW50ZXJmYWNlLgorICAgICAgICAtIFVzZSBXVEY6OlN0cmlu
ZyBpbiBwbGFjZSBvZiBKYXZhU3RyaW5nIGluIHRoZSBBUEksIGFzIEphdmFTdHJpbmcKKyAgICAg
ICAgICBleHBvc2VzIEpOSSB0eXBlcyBpbiBpdHMgaW50ZXJmYWNlLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cywgcmVmYWN0b3Jpbmcgb25seS4KKworICAgICAgICAqIEFuZHJvaWQudjhiaW5kaW5n
cy5tazoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYnJpZGdlL2puaS9KYXZh
TWV0aG9kLmg6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpKYXZhTWV0aG9kOjp+SmF2YU1ldGhv
ZCk6CisgICAgICAgICogYnJpZGdlL2puaS9Kb2JqZWN0V3JhcHBlci5oOgorICAgICAgICAqIGJy
aWRnZS9qbmkvdjgvSmF2YUNsYXNzVjguY3BwOgorICAgICAgICAoSmF2YUNsYXNzOjpKYXZhQ2xh
c3MpOgorICAgICAgICAqIGJyaWRnZS9qbmkvdjgvSmF2YUZpZWxkSm9iamVjdFY4LmNwcDoKKyAg
ICAgICAgKEphdmFGaWVsZEpvYmplY3Q6OkphdmFGaWVsZEpvYmplY3QpOgorICAgICAgICAqIGJy
aWRnZS9qbmkvdjgvSmF2YUZpZWxkSm9iamVjdFY4Lmg6CisgICAgICAgIChKU0M6OkJpbmRpbmdz
OjpKYXZhRmllbGRKb2JqZWN0OjpuYW1lKToKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OkphdmFG
aWVsZEpvYmplY3Q6OnR5cGVDbGFzc05hbWUpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6SmF2
YUZpZWxkSm9iamVjdDo6dHlwZSk6CisgICAgICAgICogYnJpZGdlL2puaS92OC9KYXZhRmllbGRW
OC5oOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6SmF2YUZpZWxkOjp+SmF2YUZpZWxkKToKKyAg
ICAgICAgKiBicmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmNwcDoKKyAgICAgICAgKEphdmFJ
bnN0YW5jZTo6Z2V0RmllbGQpOgorCiAyMDExLTAzLTMwICBFdmFuIE1hcnRpbiAgPGV2YW5AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQppbmRleCA5YzhlYWQ3Li41M2NkNDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMTg5LDcg
KzIxODksOCBAQAogICAgICAgICAgICAgJ2JyaWRnZS9qbmkvdjgvSk5JVXRpbGl0eVByaXZhdGUu
aCcsCiAgICAgICAgICAgICAnYnJpZGdlL2puaS92OC9KYXZhQ2xhc3NWOC5jcHAnLAogICAgICAg
ICAgICAgJ2JyaWRnZS9qbmkvdjgvSmF2YUNsYXNzVjguaCcsCi0gICAgICAgICAgICAnYnJpZGdl
L2puaS92OC9KYXZhRmllbGRWOC5jcHAnLAorICAgICAgICAgICAgJ2JyaWRnZS9qbmkvdjgvSmF2
YUZpZWxkSm9iamVjdFY4LmNwcCcsCisgICAgICAgICAgICAnYnJpZGdlL2puaS92OC9KYXZhRmll
bGRKb2JqZWN0VjguaCcsCiAgICAgICAgICAgICAnYnJpZGdlL2puaS92OC9KYXZhRmllbGRWOC5o
JywKICAgICAgICAgICAgICdicmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmNwcCcsCiAgICAg
ICAgICAgICAnYnJpZGdlL2puaS92OC9KYXZhSW5zdGFuY2VWOC5oJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSmF2YU1ldGhvZC5oIGIvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL2puaS9KYXZhTWV0aG9kLmgKaW5kZXggZjE1YjY1My4uNTA2ODY5MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9KYXZhTWV0aG9kLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL2puaS9KYXZhTWV0aG9kLmgKQEAgLTQyLDYgKzQyLDggQEAgdHlwZWRlZiBjb25z
dCBjaGFyKiBSdW50aW1lVHlwZTsKIAogY2xhc3MgSmF2YU1ldGhvZCA6IHB1YmxpYyBNZXRob2Qg
ewogcHVibGljOgorICAgIHZpcnR1YWwgfkphdmFNZXRob2QoKSB7fQorCiAgICAgdmlydHVhbCBT
dHJpbmcgbmFtZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFJ1bnRpbWVUeXBlIHJldHVyblR5
cGVDbGFzc05hbWUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgcGFyYW1ldGVyQXQo
aW50KSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pv
YmplY3RXcmFwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pvYmplY3RXcmFwcGVy
LmgKaW5kZXggMjhjZTU2ZS4uNjNmYmZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL2puaS9Kb2JqZWN0V3JhcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkv
Sm9iamVjdFdyYXBwZXIuaApAQCAtMzgsNiArMzgsNyBAQCBuYW1lc3BhY2UgQmluZGluZ3Mgewog
Y2xhc3MgSm9iamVjdFdyYXBwZXIgewogZnJpZW5kIGNsYXNzIEphdmFBcnJheTsKIGZyaWVuZCBj
bGFzcyBKYXZhRmllbGQ7CitmcmllbmQgY2xhc3MgSmF2YUZpZWxkSm9iamVjdDsKIGZyaWVuZCBj
bGFzcyBKYXZhSW5zdGFuY2U7CiAKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9qbmkvdjgvSmF2YUNsYXNzVjguY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pu
aS92OC9KYXZhQ2xhc3NWOC5jcHAKaW5kZXggMjRkMDVmMy4uZDIzZjU1YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhQ2xhc3NWOC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhQ2xhc3NWOC5jcHAKQEAgLTI4LDcgKzI4LDcgQEAK
IAogI2lmIEVOQUJMRShKQVZBX0JSSURHRSkKIAotI2luY2x1ZGUgIkphdmFGaWVsZFY4LmgiCisj
aW5jbHVkZSAiSmF2YUZpZWxkSm9iamVjdFY4LmgiCiAjaW5jbHVkZSAiSmF2YU1ldGhvZEpvYmpl
Y3QuaCIKIAogdXNpbmcgbmFtZXNwYWNlIEpTQzo6QmluZGluZ3M7CkBAIC01MCw5ICs1MCw5IEBA
IEphdmFDbGFzczo6SmF2YUNsYXNzKGpvYmplY3QgYW5JbnN0YW5jZSkKICAgICBpbnQgbnVtRmll
bGRzID0gZW52LT5HZXRBcnJheUxlbmd0aChmaWVsZHMpOwogICAgIGZvciAoaSA9IDA7IGkgPCBu
dW1GaWVsZHM7IGkrKykgewogICAgICAgICBqb2JqZWN0IGFKRmllbGQgPSBlbnYtPkdldE9iamVj
dEFycmF5RWxlbWVudChzdGF0aWNfY2FzdDxqb2JqZWN0QXJyYXk+KGZpZWxkcyksIGkpOwotICAg
ICAgICBKYXZhRmllbGQqIGFGaWVsZCA9IG5ldyBKYXZhRmllbGQoZW52LCBhSkZpZWxkKTsgLy8g
ZGVsZXRlZCBpbiB0aGUgSmF2YUNsYXNzIGRlc3RydWN0b3IKKyAgICAgICAgSmF2YUZpZWxkKiBh
RmllbGQgPSBuZXcgSmF2YUZpZWxkSm9iamVjdChlbnYsIGFKRmllbGQpOyAvLyBkZWxldGVkIGlu
IHRoZSBKYXZhQ2xhc3MgZGVzdHJ1Y3RvcgogICAgICAgICB7Ci0gICAgICAgICAgICBtX2ZpZWxk
cy5zZXQoYUZpZWxkLT5uYW1lKCkudXRmOCgpLCBhRmllbGQpOworICAgICAgICAgICAgbV9maWVs
ZHMuc2V0KGFGaWVsZC0+bmFtZSgpLCBhRmllbGQpOwogICAgICAgICB9CiAgICAgICAgIGVudi0+
RGVsZXRlTG9jYWxSZWYoYUpGaWVsZCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYnJpZGdlL2puaS92OC9KYXZhRmllbGRKb2JqZWN0VjguY3BwIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL2puaS92OC9KYXZhRmllbGRKb2JqZWN0VjguY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjBmZTU4MzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2Uvam5pL3Y4L0phdmFGaWVsZEpvYmplY3RWOC5jcHAKQEAgLTAsMCArMSw0OCBAQAor
LyoKKyAqIENvcHlyaWdodCAyMDEwLCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Cisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkphdmFGaWVsZEpvYmplY3RWOC5o
IgorCisjaWYgRU5BQkxFKEpBVkFfQlJJREdFKQorCit1c2luZyBuYW1lc3BhY2UgSlNDOjpCaW5k
aW5nczsKKworSmF2YUZpZWxkSm9iamVjdDo6SmF2YUZpZWxkSm9iamVjdChKTklFbnYqIGVudiwg
am9iamVjdCBhRmllbGQpCit7CisgICAgLy8gR2V0IGZpZWxkIHR5cGUKKyAgICBqb2JqZWN0IGZp
ZWxkVHlwZSA9IGNhbGxKTklNZXRob2Q8am9iamVjdD4oYUZpZWxkLCAiZ2V0VHlwZSIsICIoKUxq
YXZhL2xhbmcvQ2xhc3M7Iik7CisgICAganN0cmluZyBmaWVsZFR5cGVOYW1lID0gc3RhdGljX2Nh
c3Q8anN0cmluZz4oY2FsbEpOSU1ldGhvZDxqb2JqZWN0PihmaWVsZFR5cGUsICJnZXROYW1lIiwg
IigpTGphdmEvbGFuZy9TdHJpbmc7IikpOworICAgIG1fdHlwZUNsYXNzTmFtZSA9IEphdmFTdHJp
bmcoZW52LCBmaWVsZFR5cGVOYW1lKTsKKyAgICBtX3R5cGUgPSBqYXZhVHlwZUZyb21DbGFzc05h
bWUobV90eXBlQ2xhc3NOYW1lLnV0ZjgoKSk7CisKKyAgICAvLyBHZXQgZmllbGQgbmFtZQorICAg
IGpzdHJpbmcgZmllbGROYW1lID0gc3RhdGljX2Nhc3Q8anN0cmluZz4oY2FsbEpOSU1ldGhvZDxq
b2JqZWN0PihhRmllbGQsICJnZXROYW1lIiwgIigpTGphdmEvbGFuZy9TdHJpbmc7IikpOworICAg
IG1fbmFtZSA9IEphdmFTdHJpbmcoZW52LCBmaWVsZE5hbWUpOworCisgICAgbV9maWVsZCA9IG5l
dyBKb2JqZWN0V3JhcHBlcihhRmllbGQpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKEpBVkFfQlJJ
REdFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhRmllbGRK
b2JqZWN0VjguaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YUZpZWxkSm9iamVj
dFY4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJjNzg1NwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YUZpZWxkSm9iamVj
dFY4LmgKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEwLCBUaGUgQW5kcm9p
ZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKYXZhRmllbGRKb2JqZWN0Vjhf
aAorI2RlZmluZSBKYXZhRmllbGRKb2JqZWN0VjhfaAorCisjaWYgRU5BQkxFKEpBVkFfQlJJREdF
KQorCisjaW5jbHVkZSAiSmF2YUZpZWxkVjguaCIKKyNpbmNsdWRlICJKYXZhU3RyaW5nLmgiCisj
aW5jbHVkZSAiSm9iamVjdFdyYXBwZXIuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK25hbWVzcGFj
ZSBCaW5kaW5ncyB7CisKK2NsYXNzIEphdmFGaWVsZEpvYmplY3QgOiBwdWJsaWMgSmF2YUZpZWxk
IHsKK3B1YmxpYzoKKyAgICBKYXZhRmllbGRKb2JqZWN0KEpOSUVudiosIGpvYmplY3QpOworCisg
ICAgLy8gSmF2YUZpZWxkIGltcGxlbWVudGF0aW9uCisgICAgdmlydHVhbCBTdHJpbmcgbmFtZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbmFtZS5pbXBsKCk7IH0KKyAgICB2aXJ0dWFsIGNvbnN0IGNoYXIq
IHR5cGVDbGFzc05hbWUoKSBjb25zdCB7IHJldHVybiBtX3R5cGVDbGFzc05hbWUudXRmOCgpOyB9
CisgICAgdmlydHVhbCBKYXZhVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisK
K3ByaXZhdGU6CisgICAgSmF2YVN0cmluZyBtX25hbWU7CisgICAgSmF2YVN0cmluZyBtX3R5cGVD
bGFzc05hbWU7CisgICAgSmF2YVR5cGUgbV90eXBlOworICAgIFJlZlB0cjxKb2JqZWN0V3JhcHBl
cj4gbV9maWVsZDsKK307CisKK30gLy8gbmFtZXNwYWNlIEJpbmRpbmdzCisKK30gLy8gbmFtZXNw
YWNlIEpTQworCisjZW5kaWYgLy8gRU5BQkxFKEpBVkFfQlJJREdFKQorCisjZW5kaWYgLy8gSmF2
YUZpZWxkSm9iamVjdFY4X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkv
djgvSmF2YUZpZWxkVjguY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhRmll
bGRWOC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJhNmRkMGIuLjAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhRmllbGRWOC5jcHAKKysrIC9k
ZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IDIwMTAsIFRoZSBBbmRy
b2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5j
bHVkZSAiSmF2YUZpZWxkVjguaCIKLQotI2lmIEVOQUJMRShKQVZBX0JSSURHRSkKLQotdXNpbmcg
bmFtZXNwYWNlIEpTQzo6QmluZGluZ3M7Ci0KLUphdmFGaWVsZDo6SmF2YUZpZWxkKEpOSUVudiog
ZW52LCBqb2JqZWN0IGFGaWVsZCkKLXsKLSAgICAvLyBHZXQgZmllbGQgdHlwZQotICAgIGpvYmpl
Y3QgZmllbGRUeXBlID0gY2FsbEpOSU1ldGhvZDxqb2JqZWN0PihhRmllbGQsICJnZXRUeXBlIiwg
IigpTGphdmEvbGFuZy9DbGFzczsiKTsKLSAgICBqc3RyaW5nIGZpZWxkVHlwZU5hbWUgPSBzdGF0
aWNfY2FzdDxqc3RyaW5nPihjYWxsSk5JTWV0aG9kPGpvYmplY3Q+KGZpZWxkVHlwZSwgImdldE5h
bWUiLCAiKClMamF2YS9sYW5nL1N0cmluZzsiKSk7Ci0gICAgbV90eXBlQ2xhc3NOYW1lID0gSmF2
YVN0cmluZyhlbnYsIGZpZWxkVHlwZU5hbWUpOwotICAgIG1fdHlwZSA9IGphdmFUeXBlRnJvbUNs
YXNzTmFtZShtX3R5cGVDbGFzc05hbWUudXRmOCgpKTsKLQotICAgIC8vIEdldCBmaWVsZCBuYW1l
Ci0gICAganN0cmluZyBmaWVsZE5hbWUgPSBzdGF0aWNfY2FzdDxqc3RyaW5nPihjYWxsSk5JTWV0
aG9kPGpvYmplY3Q+KGFGaWVsZCwgImdldE5hbWUiLCAiKClMamF2YS9sYW5nL1N0cmluZzsiKSk7
Ci0gICAgbV9uYW1lID0gSmF2YVN0cmluZyhlbnYsIGZpZWxkTmFtZSk7Ci0KLSAgICBtX2ZpZWxk
ID0gbmV3IEpvYmplY3RXcmFwcGVyKGFGaWVsZCk7Ci19Ci0KLSNlbmRpZiAvLyBFTkFCTEUoSkFW
QV9CUklER0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFG
aWVsZFY4LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFGaWVsZFY4LmgKaW5k
ZXggZGVmZWQ2MC4uM2MyNGNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pu
aS92OC9KYXZhRmllbGRWOC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2
YUZpZWxkVjguaApAQCAtMjgsOCArMjgsOCBAQAogCiAjaWYgRU5BQkxFKEpBVkFfQlJJREdFKQog
Ci0jaW5jbHVkZSAiSmF2YVN0cmluZy5oIgotI2luY2x1ZGUgIkpvYmplY3RXcmFwcGVyLmgiCisj
aW5jbHVkZSAiSk5JVXRpbGl0eS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMzcsMTcgKzM3LDExIEBAIG5hbWVzcGFjZSBCaW5kaW5n
cyB7CiAKIGNsYXNzIEphdmFGaWVsZCB7CiBwdWJsaWM6Ci0gICAgSmF2YUZpZWxkKEpOSUVudios
IGpvYmplY3QgYUZpZWxkKTsKKyAgICB2aXJ0dWFsIH5KYXZhRmllbGQoKSB7fQogCi0gICAgY29u
c3QgSmF2YVN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQotICAgIGNvbnN0
IGNoYXIqIHR5cGVDbGFzc05hbWUoKSBjb25zdCB7IHJldHVybiBtX3R5cGVDbGFzc05hbWUudXRm
OCgpOyB9Ci0gICAgSmF2YVR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQotCi1w
cml2YXRlOgotICAgIEphdmFTdHJpbmcgbV9uYW1lOwotICAgIEphdmFTdHJpbmcgbV90eXBlQ2xh
c3NOYW1lOwotICAgIEphdmFUeXBlIG1fdHlwZTsKLSAgICBSZWZQdHI8Sm9iamVjdFdyYXBwZXI+
IG1fZmllbGQ7CisgICAgdmlydHVhbCBTdHJpbmcgbmFtZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0
dWFsIGNvbnN0IGNoYXIqIHR5cGVDbGFzc05hbWUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBK
YXZhVHlwZSB0eXBlKCkgY29uc3QgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQmluZGluZ3MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YUluc3RhbmNlVjgu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhSW5zdGFuY2VWOC5jcHAKaW5k
ZXggZDEwNzVhZS4uYmEyYmIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pu
aS92OC9KYXZhSW5zdGFuY2VWOC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92
OC9KYXZhSW5zdGFuY2VWOC5jcHAKQEAgLTgzLDggKzgzLDggQEAgSmF2YVZhbHVlIEphdmFJbnN0
YW5jZTo6aW52b2tlTWV0aG9kKGNvbnN0IEphdmFNZXRob2QqIG1ldGhvZCwgSmF2YVZhbHVlKiBh
cmdzKQogCiBKYXZhVmFsdWUgSmF2YUluc3RhbmNlOjpnZXRGaWVsZChjb25zdCBKYXZhRmllbGQq
IGZpZWxkKQogewotICAgIEFTU0VSVChnZXRDbGFzcygpLT5maWVsZE5hbWVkKGZpZWxkLT5uYW1l
KCkudXRmOCgpKSA9PSBmaWVsZCk7Ci0gICAgcmV0dXJuIGp2YWx1ZVRvSmF2YVZhbHVlKGdldEpO
SUZpZWxkKGphdmFJbnN0YW5jZSgpLCBmaWVsZC0+dHlwZSgpLCBmaWVsZC0+bmFtZSgpLnV0Zjgo
KSwgZmllbGQtPnR5cGVDbGFzc05hbWUoKSksIGZpZWxkLT50eXBlKCkpOworICAgIEFTU0VSVChn
ZXRDbGFzcygpLT5maWVsZE5hbWVkKGZpZWxkLT5uYW1lKCkudXRmOCgpLmRhdGEoKSkgPT0gZmll
bGQpOworICAgIHJldHVybiBqdmFsdWVUb0phdmFWYWx1ZShnZXRKTklGaWVsZChqYXZhSW5zdGFu
Y2UoKSwgZmllbGQtPnR5cGUoKSwgZmllbGQtPm5hbWUoKS51dGY4KCkuZGF0YSgpLCBmaWVsZC0+
dHlwZUNsYXNzTmFtZSgpKSwgZmllbGQtPnR5cGUoKSk7CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUo
SkFWQV9CUklER0UpCg==
</data>
<flag name="review"
          id="79949"
          type_id="1"
          status="+"
          setter="jorlow"
    />
          </attachment>
      

    </bug>

</bugzilla>