<?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>25309</bug_id>
          
          <creation_ts>2009-04-21 08:45:02 -0700</creation_ts>
          <short_desc>Use AtomicStrings more effectively in the V8 bindings</short_desc>
          <delta_ts>2009-04-21 10:01:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>0</everconfirmed>
          <reporter name="Dave Moore">davemoore</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>118264</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Moore">davemoore</who>
    <bug_when>2009-04-21 08:45:02 -0700</bug_when>
    <thetext>I&apos;ve cleaned up some of the V8 bindings to use AtomicStrings better, making sure we don&apos;t covert strings more than we have to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118266</commentid>
    <comment_count>1</comment_count>
      <attachid>29648</attachid>
    <who name="Dave Moore">davemoore</who>
    <bug_when>2009-04-21 08:50:25 -0700</bug_when>
    <thetext>Created attachment 29648
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118274</commentid>
    <comment_count>2</comment_count>
      <attachid>29648</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-04-21 09:31:11 -0700</bug_when>
    <thetext>Comment on attachment 29648
Fix

&gt; Index: bindings/v8/V8Binding.h
&gt; ===================================================================
&gt; --- bindings/v8/V8Binding.h	(revision 42710)
&gt; +++ bindings/v8/V8Binding.h	(working copy)
&gt; @@ -34,7 +34,7 @@
&gt;  // FIXME: This is a temporary forwarding header until all bindings have migrated
&gt;  // over and v8_binding actually becomes V8Binding.
&gt;  #include &quot;v8_binding.h&quot;
&gt; -
&gt; +#include &quot;AtomicString.h&quot;
&gt;  namespace WebCore {
&gt;  
&gt;      // FIXME: Remove once migration is complete.
&gt; @@ -51,7 +51,13 @@ namespace WebCore {
&gt;      // FIXME: Remove once migration is complete.
&gt;      inline String toWebCoreString(v8::Handle&lt;v8::Value&gt; obj)
&gt;      {
&gt; -        return ToWebCoreString(obj);
&gt; +      return ToWebCoreString(obj);
&gt; +    }
&gt; +
&gt; +    // FIXME: Remove once migration is complete.
&gt; +    inline String toWebCoreString(v8::Handle&lt;v8::String&gt; obj)
&gt; +    {
&gt; +      return ToWebCoreString(obj);
&gt;      }

Did you mean to put this file into this change? It&apos;s just reformatting to 2-space indent, which ain&apos;t good for WebKit anyway.

Otherwise, looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118279</commentid>
    <comment_count>3</comment_count>
      <attachid>29652</attachid>
    <who name="Dave Moore">davemoore</who>
    <bug_when>2009-04-21 09:50:41 -0700</bug_when>
    <thetext>Created attachment 29652
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118280</commentid>
    <comment_count>4</comment_count>
    <who name="Dave Moore">davemoore</who>
    <bug_when>2009-04-21 09:51:04 -0700</bug_when>
    <thetext>You&apos;re right...I removed the file from the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118282</commentid>
    <comment_count>5</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-04-21 10:01:03 -0700</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/42714.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29648</attachid>
            <date>2009-04-21 08:50:25 -0700</date>
            <delta_ts>2009-04-21 09:50:41 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>25309.patch</filename>
            <type>text/plain</type>
            <size>5998</size>
            <attacher name="Dave Moore">davemoore</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQyNzEw
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDktMDQt
MjEgIERhdmUgTW9vcmUgIDxkYXZlbW9vcmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZXR0ZXIgdXNlIEF0b21pY1N0cmluZ3Mg
d2hlbiBjYWxsaW5nIGZyb20gdGhlIFY4CisgICAgICAgIGJpbmRpbmdzIGludG8gV2ViQ29yZSBj
b2RlLgorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI1MzA5CisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEJpbmRpbmcuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRvV2ViQ29yZVN0cmluZyk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5BTUVEX1BST1BF
UlRZX0dFVFRFUik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENvbGxlY3Rp
b25DdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0TmFtZWRJdGVtcyk6CisgICAgICAg
IChXZWJDb3JlOjpOQU1FRF9QUk9QRVJUWV9HRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOEhUTUxGb3JtRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpO
QU1FRF9QUk9QRVJUWV9HRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhU
TUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TkFNRURfUFJP
UEVSVFlfR0VUVEVSKToKKwogMjAwOS0wNC0yMSAgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5n
b21ib3NAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4
OiBiaW5kaW5ncy92OC9WOEJpbmRpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBiaW5kaW5ncy92OC9WOEJp
bmRpbmcuaAkocmV2aXNpb24gNDI3MTApCisrKyBiaW5kaW5ncy92OC9WOEJpbmRpbmcuaAkod29y
a2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBAQAogLy8gRklYTUU6IFRoaXMgaXMgYSB0ZW1wb3Jh
cnkgZm9yd2FyZGluZyBoZWFkZXIgdW50aWwgYWxsIGJpbmRpbmdzIGhhdmUgbWlncmF0ZWQKIC8v
IG92ZXIgYW5kIHY4X2JpbmRpbmcgYWN0dWFsbHkgYmVjb21lcyBWOEJpbmRpbmcuCiAjaW5jbHVk
ZSAidjhfYmluZGluZy5oIgotCisjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgiCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICAvLyBGSVhNRTogUmVtb3ZlIG9uY2UgbWlncmF0aW9uIGlzIGNvbXBs
ZXRlLgpAQCAtNTEsNyArNTEsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIEZJWE1F
OiBSZW1vdmUgb25jZSBtaWdyYXRpb24gaXMgY29tcGxldGUuCiAgICAgaW5saW5lIFN0cmluZyB0
b1dlYkNvcmVTdHJpbmcodjg6OkhhbmRsZTx2ODo6VmFsdWU+IG9iaikKICAgICB7Ci0gICAgICAg
IHJldHVybiBUb1dlYkNvcmVTdHJpbmcob2JqKTsKKyAgICAgIHJldHVybiBUb1dlYkNvcmVTdHJp
bmcob2JqKTsKKyAgICB9CisKKyAgICAvLyBGSVhNRTogUmVtb3ZlIG9uY2UgbWlncmF0aW9uIGlz
IGNvbXBsZXRlLgorICAgIGlubGluZSBTdHJpbmcgdG9XZWJDb3JlU3RyaW5nKHY4OjpIYW5kbGU8
djg6OlN0cmluZz4gb2JqKQorICAgIHsKKyAgICAgIHJldHVybiBUb1dlYkNvcmVTdHJpbmcob2Jq
KTsKICAgICB9CiAKICAgICAvLyBGSVhNRTogUmVtb3ZlIG9uY2UgbWlncmF0aW9uIGlzIGNvbXBs
ZXRlLgpJbmRleDogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBiaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCShyZXZp
c2lvbiA0MjcxMCkKKysrIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU0MCw5ICs1NDAsNiBAQCBJTkRFWEVEX1BST1BFUlRZX0dFVFRF
UihET01XaW5kb3cpCiBOQU1FRF9QUk9QRVJUWV9HRVRURVIoRE9NV2luZG93KQogewogICAgIElO
Q19TVEFUUygiRE9NLkRPTVdpbmRvdy5OYW1lZFByb3BlcnR5R2V0dGVyIik7Ci0gICAgLy8gVGhl
IGtleSBtdXN0IGJlIGEgc3RyaW5nLgotICAgIGlmICghbmFtZS0+SXNTdHJpbmcoKSkKLSAgICAg
ICAgcmV0dXJuIG5vdEhhbmRsZWRCeUludGVyY2VwdG9yKCk7CiAKICAgICB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IGhvbGRlciA9IFY4UHJveHk6Okxvb2t1cERPTVdyYXBwZXIoVjhDbGFzc0luZGV4
OjpET01XSU5ET1csIGluZm8uVGhpcygpKTsKICAgICBpZiAoaG9sZGVyLklzRW1wdHkoKSkKQEAg
LTU1MiwxNCArNTQ5LDEzIEBAIE5BTUVEX1BST1BFUlRZX0dFVFRFUihET01XaW5kb3cpCiAgICAg
aWYgKCF3aW5kb3cpCiAgICAgICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwog
Ci0gICAgU3RyaW5nIHByb3BOYW1lID0gdG9XZWJDb3JlU3RyaW5nKG5hbWUpOwotCiAgICAgRnJh
bWUqIGZyYW1lID0gd2luZG93LT5mcmFtZSgpOwogICAgIC8vIHdpbmRvdyBpcyBkZXRhY2hlZCBm
cm9tIGEgZnJhbWUuCiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuIG5vdEhhbmRsZWRC
eUludGVyY2VwdG9yKCk7CiAKICAgICAvLyBTZWFyY2ggc3ViLWZyYW1lcy4KKyAgICBBdG9taWNT
dHJpbmcgcHJvcE5hbWUgPSB2OFN0cmluZ1RvQXRvbWljV2ViQ29yZVN0cmluZyhuYW1lKTsKICAg
ICBGcmFtZSogY2hpbGQgPSBmcmFtZS0+dHJlZSgpLT5jaGlsZChwcm9wTmFtZSk7CiAgICAgaWYg
KGNoaWxkKQogICAgICAgICByZXR1cm4gVjhQcm94eTo6VG9WOE9iamVjdChWOENsYXNzSW5kZXg6
OkRPTVdJTkRPVywgY2hpbGQtPmRvbVdpbmRvdygpKTsKQEAgLTYyMiw3ICs2MTgsNyBAQCBOQU1F
RF9QUk9QRVJUWV9HRVRURVIoRE9NV2luZG93KQogICAgICAgICAvLyBUT0RPKGFnZXIpOiBXZSBw
cm9iYWJseSBzaG91bGQgaW1wbGVtZW50IHRoZSBIYXMgbWV0aG9kCiAgICAgICAgIC8vIGZvciB0
aGUgaW50ZXJjZXB0b3IgaW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdCBIYXMgbWV0aG9kCiAg
ICAgICAgIC8vIHRoYXQgY2FsbHMgR2V0LgotICAgICAgICBjb250ZXh0LT5HbG9iYWwoKS0+U2V0
KHY4U3RyaW5nKHByb3BOYW1lKSwgdjg6OlVuZGVmaW5lZCgpKTsKKyAgICAgICAgY29udGV4dC0+
R2xvYmFsKCktPlNldChuYW1lLCB2ODo6VW5kZWZpbmVkKCkpOwogICAgICAgICBWOFByb3h5KiBw
cm94eSA9IFY4UHJveHk6OnJldHJpZXZlKHdpbmRvdy0+ZnJhbWUoKSk7CiAgICAgICAgIEFTU0VS
VChwcm94eSk7CiAKSW5kZXg6IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDb2xsZWN0aW9uQ3Vz
dG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ29sbGVjdGlv
bkN1c3RvbS5jcHAJKHJldmlzaW9uIDQyNzEwKQorKysgYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRN
TENvbGxlY3Rpb25DdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBnZXRO
YW1lZEl0ZW1zKEhUTUxDb2xsZWN0aW9uKiBjb2xsZWN0aW9uLCBTdHJpbmcgbmFtZSkKK3N0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZ2V0TmFtZWRJdGVtcyhIVE1MQ29sbGVjdGlvbiogY29s
bGVjdGlvbiwgQXRvbWljU3RyaW5nIG5hbWUpCiB7CiAgICAgVmVjdG9yPFJlZlB0cjxOb2RlPiA+
IG5hbWVkSXRlbXM7CiAgICAgY29sbGVjdGlvbi0+bmFtZWRJdGVtcyhuYW1lLCBuYW1lZEl0ZW1z
KTsKQEAgLTg1LDcgKzg1LDcgQEAgTkFNRURfUFJPUEVSVFlfR0VUVEVSKEhUTUxDb2xsZWN0aW9u
KQogCiAgICAgLy8gRmluYWxseSwgc2VhcmNoIHRoZSBET00gc3RydWN0dXJlLgogICAgIEhUTUxD
b2xsZWN0aW9uKiBpbXAgPSBWOFByb3h5OjpUb05hdGl2ZU9iamVjdDxIVE1MQ29sbGVjdGlvbj4o
VjhDbGFzc0luZGV4OjpIVE1MQ09MTEVDVElPTiwgaW5mby5Ib2xkZXIoKSk7Ci0gICAgcmV0dXJu
IGdldE5hbWVkSXRlbXMoaW1wLCB0b1dlYkNvcmVTdHJpbmcobmFtZSkpOworICAgIHJldHVybiBn
ZXROYW1lZEl0ZW1zKGltcCwgdjhTdHJpbmdUb0F0b21pY1dlYkNvcmVTdHJpbmcobmFtZSkpOwog
fQogCiBDQUxMQkFDS19GVU5DX0RFQ0woSFRNTENvbGxlY3Rpb25JdGVtKQpJbmRleDogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SFRNTEZvcm1FbGVtZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBi
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRm9ybUVsZW1lbnRDdXN0b20uY3BwCShyZXZpc2lvbiA0
MjcxMCkKKysrIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxGb3JtRWxlbWVudEN1c3RvbS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAgTkFNRURfUFJPUEVSVFlfR0VUVEVSKEhU
TUxGb3JtRWxlbWVudCkKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5IVE1MRm9ybUVsZW1lbnQuTmFt
ZWRQcm9wZXJ0eUdldHRlciIpOwogICAgIEhUTUxGb3JtRWxlbWVudCogaW1wID0gVjhQcm94eTo6
RE9NV3JhcHBlclRvTm9kZTxIVE1MRm9ybUVsZW1lbnQ+KGluZm8uSG9sZGVyKCkpOwotICAgIFN0
cmluZyB2ID0gdG9XZWJDb3JlU3RyaW5nKG5hbWUpOworICAgIEF0b21pY1N0cmluZyB2ID0gdjhT
dHJpbmdUb0F0b21pY1dlYkNvcmVTdHJpbmcobmFtZSk7CiAKICAgICAvLyBDYWxsIGdldE5hbWVk
RWxlbWVudHMgdHdpY2UsIGZpcnN0IHRpbWUgY2hlY2sgaWYgaXQgaGFzIGEgdmFsdWUKICAgICAv
LyBhbmQgbGV0IEhUTUxGb3JtRWxlbWVudCB1cGRhdGUgaXRzIGNhY2hlLgpJbmRleDogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHAJKHJl
dmlzaW9uIDQyNzEwKQorKysgYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEZyYW1lU2V0RWxlbWVu
dEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcgQEAgTkFNRURfUFJPUEVS
VFlfR0VUVEVSKEhUTUxGcmFtZVNldEVsZW1lbgogewogICAgIElOQ19TVEFUUygiRE9NLkhUTUxG
cmFtZVNldEVsZW1lbnQuTmFtZWRQcm9wZXJ0eUdldHRlciIpOwogICAgIEhUTUxGcmFtZVNldEVs
ZW1lbnQqIGltcCA9IFY4UHJveHk6OkRPTVdyYXBwZXJUb05vZGU8SFRNTEZyYW1lU2V0RWxlbWVu
dD4oaW5mby5Ib2xkZXIoKSk7Ci0gICAgTm9kZSogZnJhbWVOb2RlID0gaW1wLT5jaGlsZHJlbigp
LT5uYW1lZEl0ZW0odG9XZWJDb3JlU3RyaW5nKG5hbWUpKTsKKyAgICBOb2RlKiBmcmFtZU5vZGUg
PSBpbXAtPmNoaWxkcmVuKCktPm5hbWVkSXRlbSh2OFN0cmluZ1RvQXRvbWljV2ViQ29yZVN0cmlu
ZyhuYW1lKSk7CiAgICAgaWYgKGZyYW1lTm9kZSAmJiBmcmFtZU5vZGUtPmhhc1RhZ05hbWUoSFRN
TE5hbWVzOjpmcmFtZVRhZykpIHsKICAgICAgICAgRG9jdW1lbnQqIGRvYyA9IHN0YXRpY19jYXN0
PEhUTUxGcmFtZUVsZW1lbnQqPihmcmFtZU5vZGUpLT5jb250ZW50RG9jdW1lbnQoKTsKICAgICAg
ICAgaWYgKCFkb2MpCg==
</data>
<flag name="review"
          id="14814"
          type_id="1"
          status="-"
          setter="dglazkov"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29652</attachid>
            <date>2009-04-21 09:50:41 -0700</date>
            <delta_ts>2009-04-21 09:53:29 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>25309.patch</filename>
            <type>text/plain</type>
            <size>5071</size>
            <attacher name="Dave Moore">davemoore</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQyNzEz
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDktMDQt
MjEgIERhdmUgTW9vcmUgIDxkYXZlbW9vcmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZXR0ZXIgdXNlIEF0b21pY1N0cmluZ3Mg
d2hlbiBjYWxsaW5nIGZyb20gdGhlIFY4CisgICAgICAgIGJpbmRpbmdzIGludG8gV2ViQ29yZSBj
b2RlLgorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI1MzA5CisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEJpbmRpbmcuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRvV2ViQ29yZVN0cmluZyk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5BTUVEX1BST1BF
UlRZX0dFVFRFUik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENvbGxlY3Rp
b25DdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0TmFtZWRJdGVtcyk6CisgICAgICAg
IChXZWJDb3JlOjpOQU1FRF9QUk9QRVJUWV9HRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOEhUTUxGb3JtRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpO
QU1FRF9QUk9QRVJUWV9HRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhU
TUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TkFNRURfUFJP
UEVSVFlfR0VUVEVSKToKKwogMjAwOS0wNC0yMSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hA
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBiaW5k
aW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCShyZXZpc2lvbiA0MjcxMykKKysr
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU0MCw5ICs1NDAsNiBAQCBJTkRFWEVEX1BST1BFUlRZX0dFVFRFUihET01XaW5kb3cpCiBO
QU1FRF9QUk9QRVJUWV9HRVRURVIoRE9NV2luZG93KQogewogICAgIElOQ19TVEFUUygiRE9NLkRP
TVdpbmRvdy5OYW1lZFByb3BlcnR5R2V0dGVyIik7Ci0gICAgLy8gVGhlIGtleSBtdXN0IGJlIGEg
c3RyaW5nLgotICAgIGlmICghbmFtZS0+SXNTdHJpbmcoKSkKLSAgICAgICAgcmV0dXJuIG5vdEhh
bmRsZWRCeUludGVyY2VwdG9yKCk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRl
ciA9IFY4UHJveHk6Okxvb2t1cERPTVdyYXBwZXIoVjhDbGFzc0luZGV4OjpET01XSU5ET1csIGlu
Zm8uVGhpcygpKTsKICAgICBpZiAoaG9sZGVyLklzRW1wdHkoKSkKQEAgLTU1MiwxNCArNTQ5LDEz
IEBAIE5BTUVEX1BST1BFUlRZX0dFVFRFUihET01XaW5kb3cpCiAgICAgaWYgKCF3aW5kb3cpCiAg
ICAgICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwogCi0gICAgU3RyaW5nIHBy
b3BOYW1lID0gdG9XZWJDb3JlU3RyaW5nKG5hbWUpOwotCiAgICAgRnJhbWUqIGZyYW1lID0gd2lu
ZG93LT5mcmFtZSgpOwogICAgIC8vIHdpbmRvdyBpcyBkZXRhY2hlZCBmcm9tIGEgZnJhbWUuCiAg
ICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuIG5vdEhhbmRsZWRCeUludGVyY2VwdG9yKCk7
CiAKICAgICAvLyBTZWFyY2ggc3ViLWZyYW1lcy4KKyAgICBBdG9taWNTdHJpbmcgcHJvcE5hbWUg
PSB2OFN0cmluZ1RvQXRvbWljV2ViQ29yZVN0cmluZyhuYW1lKTsKICAgICBGcmFtZSogY2hpbGQg
PSBmcmFtZS0+dHJlZSgpLT5jaGlsZChwcm9wTmFtZSk7CiAgICAgaWYgKGNoaWxkKQogICAgICAg
ICByZXR1cm4gVjhQcm94eTo6VG9WOE9iamVjdChWOENsYXNzSW5kZXg6OkRPTVdJTkRPVywgY2hp
bGQtPmRvbVdpbmRvdygpKTsKQEAgLTYyMiw3ICs2MTgsNyBAQCBOQU1FRF9QUk9QRVJUWV9HRVRU
RVIoRE9NV2luZG93KQogICAgICAgICAvLyBUT0RPKGFnZXIpOiBXZSBwcm9iYWJseSBzaG91bGQg
aW1wbGVtZW50IHRoZSBIYXMgbWV0aG9kCiAgICAgICAgIC8vIGZvciB0aGUgaW50ZXJjZXB0b3Ig
aW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdCBIYXMgbWV0aG9kCiAgICAgICAgIC8vIHRoYXQg
Y2FsbHMgR2V0LgotICAgICAgICBjb250ZXh0LT5HbG9iYWwoKS0+U2V0KHY4U3RyaW5nKHByb3BO
YW1lKSwgdjg6OlVuZGVmaW5lZCgpKTsKKyAgICAgICAgY29udGV4dC0+R2xvYmFsKCktPlNldChu
YW1lLCB2ODo6VW5kZWZpbmVkKCkpOwogICAgICAgICBWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6
OnJldHJpZXZlKHdpbmRvdy0+ZnJhbWUoKSk7CiAgICAgICAgIEFTU0VSVChwcm94eSk7CiAKSW5k
ZXg6IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ29sbGVjdGlvbkN1c3RvbS5jcHAJKHJl
dmlzaW9uIDQyNzEzKQorKysgYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENvbGxlY3Rpb25DdXN0
b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBnZXROYW1lZEl0ZW1zKEhUTUxD
b2xsZWN0aW9uKiBjb2xsZWN0aW9uLCBTdHJpbmcgbmFtZSkKK3N0YXRpYyB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gZ2V0TmFtZWRJdGVtcyhIVE1MQ29sbGVjdGlvbiogY29sbGVjdGlvbiwgQXRvbWlj
U3RyaW5nIG5hbWUpCiB7CiAgICAgVmVjdG9yPFJlZlB0cjxOb2RlPiA+IG5hbWVkSXRlbXM7CiAg
ICAgY29sbGVjdGlvbi0+bmFtZWRJdGVtcyhuYW1lLCBuYW1lZEl0ZW1zKTsKQEAgLTg1LDcgKzg1
LDcgQEAgTkFNRURfUFJPUEVSVFlfR0VUVEVSKEhUTUxDb2xsZWN0aW9uKQogCiAgICAgLy8gRmlu
YWxseSwgc2VhcmNoIHRoZSBET00gc3RydWN0dXJlLgogICAgIEhUTUxDb2xsZWN0aW9uKiBpbXAg
PSBWOFByb3h5OjpUb05hdGl2ZU9iamVjdDxIVE1MQ29sbGVjdGlvbj4oVjhDbGFzc0luZGV4OjpI
VE1MQ09MTEVDVElPTiwgaW5mby5Ib2xkZXIoKSk7Ci0gICAgcmV0dXJuIGdldE5hbWVkSXRlbXMo
aW1wLCB0b1dlYkNvcmVTdHJpbmcobmFtZSkpOworICAgIHJldHVybiBnZXROYW1lZEl0ZW1zKGlt
cCwgdjhTdHJpbmdUb0F0b21pY1dlYkNvcmVTdHJpbmcobmFtZSkpOwogfQogCiBDQUxMQkFDS19G
VU5DX0RFQ0woSFRNTENvbGxlY3Rpb25JdGVtKQpJbmRleDogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SFRNTEZvcm1FbGVtZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBiaW5kaW5ncy92OC9jdXN0
b20vVjhIVE1MRm9ybUVsZW1lbnRDdXN0b20uY3BwCShyZXZpc2lvbiA0MjcxMykKKysrIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOEhUTUxGb3JtRWxlbWVudEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQyLDcgKzQyLDcgQEAgTkFNRURfUFJPUEVSVFlfR0VUVEVSKEhUTUxGb3JtRWxlbWVudCkK
IHsKICAgICBJTkNfU1RBVFMoIkRPTS5IVE1MRm9ybUVsZW1lbnQuTmFtZWRQcm9wZXJ0eUdldHRl
ciIpOwogICAgIEhUTUxGb3JtRWxlbWVudCogaW1wID0gVjhQcm94eTo6RE9NV3JhcHBlclRvTm9k
ZTxIVE1MRm9ybUVsZW1lbnQ+KGluZm8uSG9sZGVyKCkpOwotICAgIFN0cmluZyB2ID0gdG9XZWJD
b3JlU3RyaW5nKG5hbWUpOworICAgIEF0b21pY1N0cmluZyB2ID0gdjhTdHJpbmdUb0F0b21pY1dl
YkNvcmVTdHJpbmcobmFtZSk7CiAKICAgICAvLyBDYWxsIGdldE5hbWVkRWxlbWVudHMgdHdpY2Us
IGZpcnN0IHRpbWUgY2hlY2sgaWYgaXQgaGFzIGEgdmFsdWUKICAgICAvLyBhbmQgbGV0IEhUTUxG
b3JtRWxlbWVudCB1cGRhdGUgaXRzIGNhY2hlLgpJbmRleDogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDQyNzEzKQor
KysgYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcgQEAgTkFNRURfUFJPUEVSVFlfR0VUVEVSKEhUTUxG
cmFtZVNldEVsZW1lbgogewogICAgIElOQ19TVEFUUygiRE9NLkhUTUxGcmFtZVNldEVsZW1lbnQu
TmFtZWRQcm9wZXJ0eUdldHRlciIpOwogICAgIEhUTUxGcmFtZVNldEVsZW1lbnQqIGltcCA9IFY4
UHJveHk6OkRPTVdyYXBwZXJUb05vZGU8SFRNTEZyYW1lU2V0RWxlbWVudD4oaW5mby5Ib2xkZXIo
KSk7Ci0gICAgTm9kZSogZnJhbWVOb2RlID0gaW1wLT5jaGlsZHJlbigpLT5uYW1lZEl0ZW0odG9X
ZWJDb3JlU3RyaW5nKG5hbWUpKTsKKyAgICBOb2RlKiBmcmFtZU5vZGUgPSBpbXAtPmNoaWxkcmVu
KCktPm5hbWVkSXRlbSh2OFN0cmluZ1RvQXRvbWljV2ViQ29yZVN0cmluZyhuYW1lKSk7CiAgICAg
aWYgKGZyYW1lTm9kZSAmJiBmcmFtZU5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpmcmFtZVRh
ZykpIHsKICAgICAgICAgRG9jdW1lbnQqIGRvYyA9IHN0YXRpY19jYXN0PEhUTUxGcmFtZUVsZW1l
bnQqPihmcmFtZU5vZGUpLT5jb250ZW50RG9jdW1lbnQoKTsKICAgICAgICAgaWYgKCFkb2MpCg==
</data>
<flag name="review"
          id="14816"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>