<?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>103404</bug_id>
          
          <creation_ts>2012-11-27 05:40:43 -0800</creation_ts>
          <short_desc>[V8] Replace toWebCoreString() in custom bindings with V8StringResource</short_desc>
          <delta_ts>2013-05-02 11:50:14 -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 JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>103331</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>776661</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-27 05:40:43 -0800</bug_when>
    <thetext>This is an incremental step for fixing bug 103331.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776665</commentid>
    <comment_count>1</comment_count>
      <attachid>176246</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-27 05:43:22 -0800</bug_when>
    <thetext>Created attachment 176246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776666</commentid>
    <comment_count>2</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-27 05:44:04 -0800</bug_when>
    <thetext>If the patch looks OK, I&apos;ll replace the rest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776867</commentid>
    <comment_count>3</comment_count>
      <attachid>176246</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-27 09:36:13 -0800</bug_when>
    <thetext>Comment on attachment 176246
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8BlobCustom.cpp:115
&gt; -            V8TRYCATCH(String, stringValue, toWebCoreString(item));
&gt; +            V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource&lt;&gt;, stringValue, item);

We should be able to write a test for this.  We just need to pass an argument with a toString function that throws an exception.

&gt; Source/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:83
&gt; +        V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource&lt;&gt;, propertyValue, value);

This is again the case where IsString() is true.  I think we want an optimized path that doesn&apos;t generate code for a TryCatch that will never catch anything.

&gt; Source/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp:77
&gt; -    String type = toWebCoreString(args[0]);
&gt; +    V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource&lt;&gt;, type, args[0]);

This change ought to be testable.

&gt; Source/WebCore/bindings/v8/custom/V8DOMFormDataCustom.cpp:63
&gt; -    String name = toWebCoreStringWithNullCheck(args[0]);
&gt; +    V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource&lt;WithNullCheck&gt;, name, args[0]);

This ought to be testable.

&gt; Source/WebCore/bindings/v8/custom/V8DOMFormDataCustom.cpp:73
&gt; +            V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource&lt;WithNullCheck&gt;, stringResource, args[2]);

ditto

&gt; Source/WebCore/bindings/v8/custom/V8DOMFormDataCustom.cpp:79
&gt; +        V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource&lt;WithNullCheck&gt;, stringResource, arg);

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777286</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-27 15:53:42 -0800</bug_when>
    <thetext>Adding test cases makes sense. I&apos;d like to do this work at some point, but this is not the highest priority task for now. It would require a bunch of efforts to replace 130~ places adding test cases and aligning the behavior with JSC in sync. (If someone is interested in this work, feel free to steal it:-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883868</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-02 11:50:14 -0700</bug_when>
    <thetext>V8 is gone from WebKit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176246</attachid>
            <date>2012-11-27 05:43:22 -0800</date>
            <delta_ts>2012-11-27 09:36:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103404-20121127224058.patch</filename>
            <type>text/plain</type>
            <size>9458</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1ODQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA0OTlkM2E3YzhkMjdm
MGJjM2ZkOWJhYjIwYzRiNzVkZDdjY2Q4OC4uMjM1M2EwOWQ2ZGRlZWYyNmI3YTIzM2JlYjQwMjJh
YjJiODMzZTkyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ1IEBACiAyMDEyLTExLTI3ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIFJlcGxhY2Ug
dG9XZWJDb3JlU3RyaW5nKCkgaW4gY3VzdG9tIGJpbmRpbmdzIHdpdGggVjhTdHJpbmdSZXNvdXJj
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzNDA0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBp
cyBhbiBpbmNyZW1lbnRhbCBlZmZvcnQgZm9yIGZpeGluZyBidWcgMTAzMzMxLgorICAgICAgICBU
aGlzIHBhdGNoIHNsaWdodGx5IGNoYW5nZXMgdGhlIGN1cnJlbnQgYmVoYXZpb3IgZm9yIGVkZ2Ug
Y2FzZXMuCisKKyAgICAgICAgYmVmb3JlOgorICAgICAgICAgIGZ1bmModG9XZWJDb3JlU3RyaW5n
KHY4U3RyaW5nKSk7CisKKyAgICAgICAgYWZ0ZXI6CisgICAgICAgICAgVjhUUllDQVRDSF9GT1Jf
VjhTVFJJTkdSRVNPVVJDRShWOFN0cmluZ1Jlc291Y2U8Piwgc3RyaW5nLCB2OFN0cmluZyk7Cisg
ICAgICAgICAgZnVuYyhzdHJpbmcpOworCisgICAgICAgIEJlZm9yZSB0aGlzIHBhdGNoLCBmdW5j
KCkgZ2V0cyBjYWxsZWQgZXZlbiBpZiB0aGUgc3RyaW5nIGNvbnZlcnNpb24gdGhyb3dzIGFuIGVy
cm9yLgorICAgICAgICBBZnRlciB0aGlzIHBhdGNoLCBmdW5jKCkgZG9lcyBub3QgZ2V0IGNhbGxl
ZCBpZiB0aGUgc3RyaW5nIGNvbnZlcnNpb24gdGhyb3dzIGFuIGVycm9yLgorICAgICAgICBUaGUg
bmV3IGJlaGF2aW9yIGlzIGFuIGV4cGVjdGVkIGJlaGF2aW9yLgorCisgICAgICAgIE5vIHRlc3Rz
LgorCisgICAgICAgICogYmluZGluZ3MvdjgvVjhTdHJpbmdSZXNvdXJjZS5oOgorICAgICAgICAo
V2ViQ29yZTo6VjhTdHJpbmdSZXNvdXJjZTo6VjhTdHJpbmdSZXNvdXJjZSk6CisgICAgICAgIChX
ZWJDb3JlOjpWOFN0cmluZ1Jlc291cmNlOjp3ZWJjb3JlU3RyaW5nKToKKyAgICAgICAgKFY4U3Ry
aW5nUmVzb3VyY2UpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhCbG9iOjpjb25zdHJ1Y3RvckNhbGxiYWNrQ3VzdG9t
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZURlY2xhcmF0aW9uQ3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNzc1Byb3BlcnR5SW5mbyk6CisgICAgICAgIChX
ZWJDb3JlOjpWOENTU1N0eWxlRGVjbGFyYXRpb246Om5hbWVkUHJvcGVydHlTZXR0ZXIpOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c3Ry
b2tlU3R5bGVBY2Nlc3NvclNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpWOENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRDo6ZmlsbFN0eWxlQWNjZXNzb3JTZXR0ZXIpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOENsaXBib2FyZEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpW
OENsaXBib2FyZDo6Y2xlYXJEYXRhQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NRm9y
bURhdGE6OmFwcGVuZENhbGxiYWNrKToKKworMjAxMi0xMS0yNyAgS2VudGFybyBIYXJhICA8aGFy
YWtlbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgVW5yZXZpZXdlZC4gUmVuYW1lZCBUUllDQVRD
SCA9PiBWOFRSWUNBVENILgogICAgICAgICAoSSBmb3Jnb3QgdG8gYXBwbHkgcmV2aWV3ZXIncyBj
b21tZW50IGluIGJ1ZyAxMDMzNTIgd2hlbiBsYW5kaW5nIHIxMzU4MTcuKQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFN0cmluZ1Jlc291cmNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOFN0cmluZ1Jlc291cmNlLmgKaW5kZXggNmI2YmU4Nzc2NTlj
YTI3MDE4Y2JhYjBhNjczYjYwN2M4ZmM4MWUzOS4uNjk0MzU5MjY0ODZjYWEyMTY1YTVjMjU0NjRl
OWFiMmEwNTEwN2YzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhT
dHJpbmdSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4U3RyaW5n
UmVzb3VyY2UuaApAQCAtMTU1LDcgKzE1NSw3IEBAIGVudW0gVjhTdHJpbmdSZXNvdXJjZU1vZGUg
ewogdGVtcGxhdGUgPFY4U3RyaW5nUmVzb3VyY2VNb2RlIE1vZGUgPSBEZWZhdWx0TW9kZT4KIGNs
YXNzIFY4U3RyaW5nUmVzb3VyY2UgewogcHVibGljOgotICAgIFY4U3RyaW5nUmVzb3VyY2Uodjg6
OkxvY2FsPHY4OjpWYWx1ZT4gb2JqZWN0KQorICAgIFY4U3RyaW5nUmVzb3VyY2Uodjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IG9iamVjdCkKICAgICAgICAgOiBtX3Y4T2JqZWN0KG9iamVjdCkKICAgICAg
ICAgLCBtX21vZGUoRXh0ZXJuYWxpemUpCiAgICAgICAgICwgbV9zdHJpbmcoKQpAQCAtMTY1LDYg
KzE2NSw3IEBAIHB1YmxpYzoKICAgICBib29sIHByZXBhcmUoKTsKICAgICBvcGVyYXRvciBTdHJp
bmcoKSB7IHJldHVybiB0b1N0cmluZzxTdHJpbmc+KCk7IH0KICAgICBvcGVyYXRvciBBdG9taWNT
dHJpbmcoKSB7IHJldHVybiB0b1N0cmluZzxBdG9taWNTdHJpbmc+KCk7IH0KKyAgICBTdHJpbmcg
d2ViY29yZVN0cmluZygpIHsgcmV0dXJuIHRvU3RyaW5nPFN0cmluZz4oKTsgfQogCiBwcml2YXRl
OgogICAgIGJvb2wgcHJlcGFyZUJhc2UoKQpAQCAtMjA2LDcgKzIwNyw3IEBAIHByaXZhdGU6CiAg
ICAgICAgIHJldHVybiBTdHJpbmdUeXBlKG1fc3RyaW5nKTsKICAgICB9CiAKLSAgICB2ODo6TG9j
YWw8djg6OlZhbHVlPiBtX3Y4T2JqZWN0OworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtX3Y4
T2JqZWN0OwogICAgIEV4dGVybmFsTW9kZSBtX21vZGU7CiAgICAgU3RyaW5nIG1fc3RyaW5nOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QmxvYkN1c3Rv
bS5jcHAKaW5kZXggZTAwMTExZWE2MDQyZjE1ODBjMGVhMTA4NWI2OWUxMjFiNWFlZmJjZC4uMGU2
ZTdlZmIwMzJjZGFhNzc2ZDc3MDgyZDJlNzVkMzI5ZmNlZTE3YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QmxvYkN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QmxvYkN1c3RvbS5jcHAKQEAgLTExMiw3ICsx
MTIsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhCbG9iOjpjb25zdHJ1Y3RvckNhbGxiYWNr
Q3VzdG9tKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZwogICAgICAgICAgICAgQVNTRVJUKGJsb2Ip
OwogICAgICAgICAgICAgYmxvYkJ1aWxkZXIuYXBwZW5kKGJsb2IpOwogICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgVjhUUllDQVRDSChTdHJpbmcsIHN0cmluZ1ZhbHVlLCB0b1dlYkNvcmVT
dHJpbmcoaXRlbSkpOworICAgICAgICAgICAgVjhUUllDQVRDSF9GT1JfVjhTVFJJTkdSRVNPVVJD
RShWOFN0cmluZ1Jlc291cmNlPD4sIHN0cmluZ1ZhbHVlLCBpdGVtKTsKICAgICAgICAgICAgIGJs
b2JCdWlsZGVyLmFwcGVuZChzdHJpbmdWYWx1ZSwgZW5kaW5ncyk7CiAgICAgICAgIH0KICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHls
ZURlY2xhcmF0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOENTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwCmluZGV4IGRkMDgwMGZiYmM4NGI2NWQz
OTY1NTViODVlY2Q4M2JhODg3Y2FhMTMuLjBhNjg4MGZkYTk0ZDA0ZTY2YThmZGEwM2JlNzhlNzgy
ODUyZTYxZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OENTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwCkBAIC05OSw3ICs5
OSw3IEBAIHB1YmxpYzoKIC8vIEFsc28sIGNlcnRhaW4gcHJlZml4ZXMgc3VjaCBhcyAncG9zJywg
J2Nzcy0nIGFuZCAncGl4ZWwtJyBhcmUgc3RyaXBwZWQKIC8vIGFuZCB0aGUgaGFkUGl4ZWxPclBv
c1ByZWZpeCBvdXQgcGFyYW1ldGVyIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBvcgogLy8g
bm90IHRoZSBwcm9wZXJ0eSBuYW1lIHdhcyBwcmVmaXhlZCB3aXRoICdwb3MtJyBvciAncGl4ZWwt
Jy4KLXN0YXRpYyBDU1NQcm9wZXJ0eUluZm8qIGNzc1Byb3BlcnR5SW5mbyh2ODo6SGFuZGxlPHY4
OjpTdHJpbmc+djhQcm9wZXJ0eU5hbWUpCitzdGF0aWMgQ1NTUHJvcGVydHlJbmZvKiBjc3NQcm9w
ZXJ0eUluZm8odjg6OkhhbmRsZTx2ODo6U3RyaW5nPiB2OFByb3BlcnR5TmFtZSkKIHsKICAgICBT
dHJpbmcgcHJvcGVydHlOYW1lID0gdG9XZWJDb3JlU3RyaW5nKHY4UHJvcGVydHlOYW1lKTsKICAg
ICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBDU1NQcm9wZXJ0eUluZm8qPiBDU1NQcm9wZXJ0eUlu
Zm9NYXA7CkBAIC0yMjksNyArMjI5LDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Q1NTU3R5
bGVEZWNsYXJhdGlvbjo6bmFtZWRQcm9wZXJ0eVNldHRlcih2ODo6TG9jYWw8djg6OlMKICAgICBp
ZiAoIXByb3BJbmZvKQogICAgICAgICByZXR1cm4gdjhVbmRlZmluZWQoKTsKIAotICAgIFN0cmlu
ZyBwcm9wZXJ0eVZhbHVlID0gdG9XZWJDb3JlU3RyaW5nV2l0aE51bGxDaGVjayh2YWx1ZSk7Cisg
ICAgVjhUUllDQVRDSF9GT1JfVjhTVFJJTkdSRVNPVVJDRShWOFN0cmluZ1Jlc291cmNlPFdpdGhO
dWxsQ2hlY2s+LCBzdHJpbmdSZXNvdXJjZSwgdmFsdWUpOworICAgIFN0cmluZyBwcm9wZXJ0eVZh
bHVlID0gc3RyaW5nUmVzb3VyY2Uud2ViY29yZVN0cmluZygpOwogICAgIGlmIChwcm9wSW5mby0+
aGFkUGl4ZWxPclBvc1ByZWZpeCkKICAgICAgICAgcHJvcGVydHlWYWx1ZS5hcHBlbmQoInB4Iik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENhbnZh
c1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwCmluZGV4IDQ2ZDMz
MjQ4M2NjMGJjMDVkYjIzODc0Mzg4OTU2N2YyYTRhZmYwMWEuLjRmOTBmNTNiODM5MzIzN2NlMTFl
YzU0Nzc4ZDY4MTU4ZTUzNjQyOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
Q3VzdG9tLmNwcApAQCAtNzksOSArNzksMTAgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Q2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzdHJva2VTdHlsZUFjY2Vzc29yR2V0dGVyKHY4OjoKIHZv
aWQgVjhDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnN0cm9rZVN0eWxlQWNjZXNzb3JTZXR0ZXIo
djg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBj
b25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQogewogICAgIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRCogaW1wbCA9IFY4Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjp0b05hdGl2ZShpbmZvLkhv
bGRlcigpKTsKLSAgICBpZiAodmFsdWUtPklzU3RyaW5nKCkpCi0gICAgICAgIGltcGwtPnNldFN0
cm9rZUNvbG9yKHRvV2ViQ29yZVN0cmluZyh2YWx1ZSkpOwotICAgIGVsc2UKKyAgICBpZiAodmFs
dWUtPklzU3RyaW5nKCkpIHsKKyAgICAgICAgVjhUUllDQVRDSF9GT1JfVjhTVFJJTkdSRVNPVVJD
RV9WT0lEKFY4U3RyaW5nUmVzb3VyY2U8PiwgcHJvcGVydHlWYWx1ZSwgdmFsdWUpOworICAgICAg
ICBpbXBsLT5zZXRTdHJva2VDb2xvcihwcm9wZXJ0eVZhbHVlKTsKKyAgICB9IGVsc2UKICAgICAg
ICAgaW1wbC0+c2V0U3Ryb2tlU3R5bGUodG9DYW52YXNTdHlsZSh2YWx1ZSkpOwogfQogCkBAIC05
NCw5ICs5NSwxMCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ6OmZpbGxTdHlsZUFjY2Vzc29yR2V0dGVyKHY4OjpMbwogdm9pZCBWOENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRDo6ZmlsbFN0eWxlQWNjZXNzb3JTZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJp
bmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBjb25zdCB2ODo6QWNjZXNzb3JJ
bmZvJiBpbmZvKQogewogICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCogaW1wbCA9IFY4Q2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEOjp0b05hdGl2ZShpbmZvLkhvbGRlcigpKTsKLSAgICBpZiAo
dmFsdWUtPklzU3RyaW5nKCkpCi0gICAgICAgIGltcGwtPnNldEZpbGxDb2xvcih0b1dlYkNvcmVT
dHJpbmcodmFsdWUpKTsKLSAgICBlbHNlCisgICAgaWYgKHZhbHVlLT5Jc1N0cmluZygpKSB7Cisg
ICAgICAgIFY4VFJZQ0FUQ0hfRk9SX1Y4U1RSSU5HUkVTT1VSQ0VfVk9JRChWOFN0cmluZ1Jlc291
cmNlPD4sIHByb3BlcnR5VmFsdWUsIHZhbHVlKTsKKyAgICAgICAgaW1wbC0+c2V0RmlsbENvbG9y
KHByb3BlcnR5VmFsdWUpOworICAgIH0gZWxzZQogICAgICAgICBpbXBsLT5zZXRGaWxsU3R5bGUo
dG9DYW52YXNTdHlsZSh2YWx1ZSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhDbGlwYm9hcmRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2xpcGJvYXJkQ3VzdG9tLmNwcAppbmRleCA0ZGNkZDdlNTE2
YTU2Yzg2MWQ2NGU1ZDYzY2FmYTI2MDZiNDljZTY3Li43YjEyNjVhMmRmZTEwM2Q1MmViNzUyZDli
OTQ2N2U0YWZkZTBjMmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhDbGlwYm9hcmRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOENsaXBib2FyZEN1c3RvbS5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4Q2xpcGJvYXJkOjpjbGVhckRhdGFDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzKQogICAgIGlmIChhcmdzLkxlbmd0aCgpICE9IDEpCiAgICAgICAgIHJl
dHVybiB0aHJvd0Vycm9yKHY4U3ludGF4RXJyb3IsICJjbGVhckRhdGE6IEludmFsaWQgbnVtYmVy
IG9mIGFyZ3VtZW50cyIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAotICAgIFN0cmluZyB0eXBlID0g
dG9XZWJDb3JlU3RyaW5nKGFyZ3NbMF0pOworICAgIFY4VFJZQ0FUQ0hfRk9SX1Y4U1RSSU5HUkVT
T1VSQ0UoVjhTdHJpbmdSZXNvdXJjZTw+LCB0eXBlLCBhcmdzWzBdKTsKICAgICBjbGlwYm9hcmQt
PmNsZWFyRGF0YSh0eXBlKTsKICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NRm9ybURhdGFDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NRm9ybURhdGFD
dXN0b20uY3BwCmluZGV4IGU5YTBhYWQ5NjEzNmYxZTc2OTk4MjNmMzNhNGJlYzBjZjUzNDdhNDQu
LmU1MTczMDkwYjY1YjAyMGJhZTc4ZjgwMDVmODkyYTZkZTVkNWE4MGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3Rv
bS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9NRm9ybURh
dGE6OmFwcGVuZENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAKICAgICBET01G
b3JtRGF0YSogZG9tRm9ybURhdGEgPSBWOERPTUZvcm1EYXRhOjp0b05hdGl2ZShhcmdzLkhvbGRl
cigpKTsKIAotICAgIFN0cmluZyBuYW1lID0gdG9XZWJDb3JlU3RyaW5nV2l0aE51bGxDaGVjayhh
cmdzWzBdKTsKKyAgICBWOFRSWUNBVENIX0ZPUl9WOFNUUklOR1JFU09VUkNFKFY4U3RyaW5nUmVz
b3VyY2U8V2l0aE51bGxDaGVjaz4sIG5hbWUsIGFyZ3NbMF0pOwogCiAgICAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IGFyZyA9IGFyZ3NbMV07CiAgICAgaWYgKFY4QmxvYjo6SGFzSW5zdGFuY2UoYXJn
KSkgewpAQCAtNjksMTIgKzY5LDE2IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTUZvcm1E
YXRhOjphcHBlbmRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAgICBB
U1NFUlQoYmxvYik7CiAKICAgICAgICAgU3RyaW5nIGZpbGVuYW1lOwotICAgICAgICBpZiAoYXJn
cy5MZW5ndGgoKSA+PSAzICYmICFhcmdzWzJdLT5Jc1VuZGVmaW5lZCgpKQotICAgICAgICAgICAg
ZmlsZW5hbWUgPSB0b1dlYkNvcmVTdHJpbmdXaXRoTnVsbENoZWNrKGFyZ3NbMl0pOworICAgICAg
ICBpZiAoYXJncy5MZW5ndGgoKSA+PSAzICYmICFhcmdzWzJdLT5Jc1VuZGVmaW5lZCgpKSB7Cisg
ICAgICAgICAgICBWOFRSWUNBVENIX0ZPUl9WOFNUUklOR1JFU09VUkNFKFY4U3RyaW5nUmVzb3Vy
Y2U8V2l0aE51bGxDaGVjaz4sIHN0cmluZ1Jlc291cmNlLCBhcmdzWzJdKTsKKyAgICAgICAgICAg
IGZpbGVuYW1lID0gc3RyaW5nUmVzb3VyY2Uud2ViY29yZVN0cmluZygpOworICAgICAgICB9CiAK
ICAgICAgICAgZG9tRm9ybURhdGEtPmFwcGVuZChuYW1lLCBibG9iLCBmaWxlbmFtZSk7Ci0gICAg
fSBlbHNlCi0gICAgICAgIGRvbUZvcm1EYXRhLT5hcHBlbmQobmFtZSwgdG9XZWJDb3JlU3RyaW5n
V2l0aE51bGxDaGVjayhhcmcpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBWOFRSWUNBVENIX0ZP
Ul9WOFNUUklOR1JFU09VUkNFKFY4U3RyaW5nUmVzb3VyY2U8V2l0aE51bGxDaGVjaz4sIHN0cmlu
Z1Jlc291cmNlLCBhcmcpOworICAgICAgICBkb21Gb3JtRGF0YS0+YXBwZW5kKG5hbWUsIHN0cmlu
Z1Jlc291cmNlKTsKKyAgICB9CiAKICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogfQo=
</data>
<flag name="review"
          id="191970"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>