<?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>44930</bug_id>
          
          <creation_ts>2010-08-30 23:01:50 -0700</creation_ts>
          <short_desc>[V8] Custom binding for &quot;dataset&quot;</short_desc>
          <delta_ts>2010-08-31 01:11:25 -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>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://crbug.com/48133</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="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>levin</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>271946</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-30 23:01:50 -0700</bug_when>
    <thetext>[V8] Custom binding for &quot;dataset&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271949</commentid>
    <comment_count>1</comment_count>
      <attachid>66016</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-30 23:21:37 -0700</bug_when>
    <thetext>Created attachment 66016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271952</commentid>
    <comment_count>2</comment_count>
      <attachid>66016</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-30 23:37:14 -0700</bug_when>
    <thetext>Comment on attachment 66016
Patch

&gt; LayoutTests/platform/chromium/test_expectations.txt:2767
&gt; -// v8 bindings for dataset need to be implemented.
&gt; -BUG48133 :  fast/dom/dataset-xhtml.xhtml = TEXT
&gt; -BUG48133 :  fast/dom/dataset.html = TEXT
Yay!

&gt; WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp:67
&gt; +v8::Handle&lt;v8::Boolean&gt; V8DOMStringMap::namedPropertyDeleter(v8::Local&lt;v8::String&gt; name, const v8::AccessorInfo&amp; info)
&gt; +{
&gt; +    INC_STATS(&quot;DOM.DOMStringMap.NamedPropertyDeleter&quot;);
&gt; +    v8::Handle&lt;v8::Value&gt; value = info.Holder()-&gt;GetRealNamedPropertyInPrototypeChain(name);
Can this throw an exception?

&gt; WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp:76
&gt; +    ExceptionCode ec = 0;
&gt; +    V8DOMStringMap::toNative(info.Holder())-&gt;deleteItem(toWebCoreString(name), ec);
&gt; +    if (ec)
&gt; +        throwError(ec);
Are we supposed to &quot;return throwError(ec)&quot; ?  That would be a less error-prone pattern.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271956</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-30 23:57:29 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp:67
&gt; &gt; +v8::Handle&lt;v8::Boolean&gt; V8DOMStringMap::namedPropertyDeleter(v8::Local&lt;v8::String&gt; name, const v8::AccessorInfo&amp; info)
&gt; &gt; +{
&gt; &gt; +    INC_STATS(&quot;DOM.DOMStringMap.NamedPropertyDeleter&quot;);
&gt; &gt; +    v8::Handle&lt;v8::Value&gt; value = info.Holder()-&gt;GetRealNamedPropertyInPrototypeChain(name);
&gt; Can this throw an exception?

Do you mean throwing an exception for a case that prototype chain contains the name?
I&apos;m not sure.  The behavior of the corresponding JSC binding is the same as this code.

&gt; 
&gt; &gt; WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp:76
&gt; &gt; +    ExceptionCode ec = 0;
&gt; &gt; +    V8DOMStringMap::toNative(info.Holder())-&gt;deleteItem(toWebCoreString(name), ec);
&gt; &gt; +    if (ec)
&gt; &gt; +        throwError(ec);
&gt; Are we supposed to &quot;return throwError(ec)&quot; ?  That would be a less error-prone pattern.

Unfortunately, it will make a build error.

../../WebKit/chromium/v8/include/v8.h: In constructor ‘v8::Handle&lt;T&gt;::Handle(v8::Handle&lt;S&gt;) [with S = v8::Primitive, T = v8::Boolean]’:
/Volumes/d2/WebKit/WebCore/WebCore.gyp/../bindings/v8/custom/V8DOMStringMapCustom.cpp:76:   instantiated from here
../../WebKit/chromium/v8/include/v8.h:212: error: invalid conversion from ‘v8::Primitive*’ to ‘v8::Boolean*’</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271958</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-30 23:59:46 -0700</bug_when>
    <thetext>&gt; &gt; Are we supposed to &quot;return throwError(ec)&quot; ?  That would be a less error-prone pattern.
&gt; 
&gt; Unfortunately, it will make a build error.

Yeah, we&apos;d have to change a bunch of code to make it work.  Something to think about in a future patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271976</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-31 01:11:13 -0700</bug_when>
    <thetext>Landed: http://trac.webkit.org/changeset/66467</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66016</attachid>
            <date>2010-08-30 23:21:37 -0700</date>
            <delta_ts>2010-08-31 01:11:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44930-20100831152135.patch</filename>
            <type>text/plain</type>
            <size>9522</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4NmE1MDRiYTdmZjdmYWRjNTU0NzgxOTE1MzhkOTBmY2I4N2MyMzNlLi5lZjNmYjky
OWUyNGY1M2E1YzRlZTljOTliNjYyM2JhNjBiMzczODI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDgtMzAgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtWOF0gQ3VzdG9tIGJpbmRp
bmcgZm9yICJkYXRhc2V0IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDQ5MzAKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dDoKKyAgICAgICAgIFJlbW92ZSBkYXRhc2V0Lmh0bWwgYW5kIGRhdGFzZXQteGh0
bWwueGh0bWwuCisKIDIwMTAtMDgtMzAgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBVbnJldmlld2VkLCByZWJhc2VsaW5lIHBsdWdpbnMvbW91c2UtZXZlbnQuaHRt
bCBvbiBjaHJvbWl1bSB3aW4vbGludXgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCAyMjVmM2YyMGZhOTlhODlhMjNmZGZj
YjIyZWZhYzkwODM0MWU4Zjk3Li42MWMzMGYyY2NmZTE4Y2ViZTI2MWE5M2RkYmQ0YTc4NWE4Nzgw
NTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVj
dGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBl
Y3RhdGlvbnMudHh0CkBAIC0yNzYyLDEwICsyNzYyLDYgQEAgQlVHV0s0MTMxMSBXSU4gTElOVVgg
OiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRG91YmxlMDcuaHRtbCA9IElNQUdFCiBCVUdXSzQx
MzExIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNEb3VibGUwOC5odG1sID0g
SU1BR0UKIEJVR1dLNDEzMTEgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0Rv
dWJsZTA5Lmh0bWwgPSBJTUFHRQogCi0vLyB2OCBiaW5kaW5ncyBmb3IgZGF0YXNldCBuZWVkIHRv
IGJlIGltcGxlbWVudGVkLgotQlVHNDgxMzMgOiAgZmFzdC9kb20vZGF0YXNldC14aHRtbC54aHRt
bCA9IFRFWFQKLUJVRzQ4MTMzIDogIGZhc3QvZG9tL2RhdGFzZXQuaHRtbCA9IFRFWFQKLQogLy8g
Rmxha3kgdGVzdHMuCiBCVUc0NDM0NSBMSU5VWCA6IHN2Zy96b29tL3RleHQvem9vbS1oaXhpZS1t
aXhlZC0wMDkueG1sID0gSU1BR0UgUEFTUwogQlVHNDQzNDYgTElOVVggOiBzdmcvem9vbS9wYWdl
L3pvb20taGl4aWUtbWl4ZWQtMDA5LnhtbCA9IElNQUdFIFBBU1MKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTk4YWQxMThhNTZhOGI2OTRh
YTJkZTM3ODQ2YWI0ZmM3NTlmZTZkMS4uN2Q3OTYwOTQxZTE2NWQwNGY2YTAzMzBjNDZmYWU0NTU3
NWE3ZDI1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wOC0zMCAgS2VudCBUYW11cmEgIDx0a2VudEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgW1Y4XSBDdXN0b20gYmluZGluZyBmb3IgImRhdGFzZXQiCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDkzMAorCisgICAgICAgICogV2ViQ29y
ZS5neXAvV2ViQ29yZS5neXA6IFJlbW92ZSB0aGUgZXhjbHVzaW9uIG9mIERPTVN0cmluZ01hcC5p
ZGwuCisgICAgICAgICogV2ViQ29yZS5neXBpOiBBZGQgVjhET01TdHJpbmdNYXBDdXN0b20uY3Bw
LgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVydHlR
dWVyeSk6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0eUdl
dHRlcik6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0eUVu
dW1lcmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6VjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVy
dHlEZWxldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NU3RyaW5nTWFwOjpuYW1lZFByb3Bl
cnR5U2V0dGVyKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5pZGw6IFJlbW92ZSBWOCBleGNsdXNp
b24uCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBkaXR0by4KKwogMjAxMC0wOC0zMCAg
TGVpIFpoYW5nICA8dGhlc3RpZ0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
U2hpbmljaGlybyBIYW1hamkuCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNv
cmUuZ3lwIGIvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCAzODkxMjgzM2Q3
NWE5ZmI2OTFkYWJjZTRkNWViMTAyMTQ5ZjQ3ODAwLi41OTUwMzRlODVlNTJiNDg3NDYyOTJjMDJm
ZWNiMDg1NDZkNzk5YzBlIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTIwNiw4ICsyMDYs
NiBAQAogICAgICAgIyBGSVhNRTogSSBkb24ndCBrbm93IHdoeSB0aGVzZSBhcmUgZXhjbHVkZWQs
IGVpdGhlci4KICAgICAgICMgU29tZW9uZSAobWU/KSBzaG91bGQgZmlndXJlIGl0IG91dCBhbmQg
YWRkIGFwcHJvcHJpYXRlIGNvbW1lbnRzLgogICAgICAgJy4uL2Nzcy9DU1NVbmtub3duUnVsZS5p
ZGwnLAotCi0gICAgICAnLi4vZG9tL0RPTVN0cmluZ01hcC5pZGwnLAogICAgIF0sCiAKICAgICAn
Y29uZGl0aW9ucyc6IFsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKaW5kZXggZTViNTdiYTA4ZTNhMDBkOGQ1OThjZDJiZTQwNzNkNzBhOWEw
YmRmNy4uNTAzN2Q4MzNiMDQwY2IzYzViZTM0ODhhZDY0M2RhMzEzODljMDZjYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTc1
Miw2ICs3NTIsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9y
aWVudGF0aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhEb2N1bWVudExvY2F0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEVsZW1lbnRDdXN0b20uY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDdi
ODNmYjgyYzljMTZjMDc0MmIwYTMwZTk0NzU2MjM3Mzg3Yzk4Ci0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCkBAIC0w
LDAgKzEsOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVjhET01TdHJpbmdNYXAu
aCIKKworI2luY2x1ZGUgIkRPTVN0cmluZ01hcC5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OkludGVnZXI+IFY4RE9NU3Ry
aW5nTWFwOjpuYW1lZFByb3BlcnR5UXVlcnkodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNv
bnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uRE9NU3Ry
aW5nTWFwLk5hbWVkUHJvcGVydHlRdWVyeSIpOworICAgIGlmIChWOERPTVN0cmluZ01hcDo6dG9O
YXRpdmUoaW5mby5Ib2xkZXIoKSktPmNvbnRhaW5zKHRvV2ViQ29yZVN0cmluZyhuYW1lKSkpCisg
ICAgICAgIHJldHVybiB2ODo6SW50ZWdlcjo6TmV3KHY4OjpOb25lKTsKKyAgICByZXR1cm4gdjg6
OkhhbmRsZTx2ODo6SW50ZWdlcj4oKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9N
U3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5R2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1l
LCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19TVEFUUygiRE9NLkRP
TVN0cmluZ01hcC5OYW1lZFByb3BlcnR5R2V0dGVyIik7CisgICAgcmV0dXJuIHY4U3RyaW5nKFY4
RE9NU3RyaW5nTWFwOjp0b05hdGl2ZShpbmZvLkhvbGRlcigpKS0+aXRlbSh0b1dlYkNvcmVTdHJp
bmcobmFtZSkpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6QXJyYXk+IFY4RE9NU3RyaW5nTWFwOjpu
YW1lZFByb3BlcnR5RW51bWVyYXRvcihjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQorewor
ICAgIElOQ19TVEFUUygiRE9NLkRPTVN0cmluZ01hcC5OYW1lZFByb3BlcnR5RW51bWVyYXRvciIp
OworICAgIFZlY3RvcjxTdHJpbmc+IG5hbWVzOworICAgIFY4RE9NU3RyaW5nTWFwOjp0b05hdGl2
ZShpbmZvLkhvbGRlcigpKS0+Z2V0TmFtZXMobmFtZXMpOworICAgIHY4OjpIYW5kbGU8djg6OkFy
cmF5PiBwcm9wZXJ0aWVzID0gdjg6OkFycmF5OjpOZXcobmFtZXMuc2l6ZSgpKTsKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbmFtZXMuc2l6ZSgpOyArK2kpCisgICAgICAgIHByb3BlcnRp
ZXMtPlNldCh2ODo6SW50ZWdlcjo6TmV3KGkpLCB2OFN0cmluZyhuYW1lc1tpXSkpOworICAgIHJl
dHVybiBwcm9wZXJ0aWVzOworfQorCit2ODo6SGFuZGxlPHY4OjpCb29sZWFuPiBWOERPTVN0cmlu
Z01hcDo6bmFtZWRQcm9wZXJ0eURlbGV0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNv
bnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uRE9NU3Ry
aW5nTWFwLk5hbWVkUHJvcGVydHlEZWxldGVyIik7CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHZhbHVlID0gaW5mby5Ib2xkZXIoKS0+R2V0UmVhbE5hbWVkUHJvcGVydHlJblByb3RvdHlwZUNo
YWluKG5hbWUpOworICAgIGlmICghdmFsdWUuSXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdjg6
OkZhbHNlKCk7CisgICAgaWYgKGluZm8uSG9sZGVyKCktPkhhc1JlYWxOYW1lZENhbGxiYWNrUHJv
cGVydHkobmFtZSkpCisgICAgICAgIHJldHVybiB2ODo6RmFsc2UoKTsKKworICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwOworICAgIFY4RE9NU3RyaW5nTWFwOjp0b05hdGl2ZShpbmZvLkhvbGRlcigp
KS0+ZGVsZXRlSXRlbSh0b1dlYkNvcmVTdHJpbmcobmFtZSksIGVjKTsKKyAgICBpZiAoZWMpCisg
ICAgICAgIHRocm93RXJyb3IoZWMpOworICAgIHJldHVybiB2ODo6VHJ1ZSgpOworfQorCit2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVydHlTZXR0ZXIodjg6
OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBjb25z
dCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19TVEFUUygiRE9NLkRPTVN0cmlu
Z01hcC5OYW1lZFByb3BlcnR5U2V0dGVyIik7CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHBy
b3BlcnR5ID0gaW5mby5Ib2xkZXIoKS0+R2V0UmVhbE5hbWVkUHJvcGVydHlJblByb3RvdHlwZUNo
YWluKG5hbWUpOworICAgIGlmICghcHJvcGVydHkuSXNFbXB0eSgpKQorICAgICAgICByZXR1cm4g
dmFsdWU7CisgICAgaWYgKGluZm8uSG9sZGVyKCktPkhhc1JlYWxOYW1lZENhbGxiYWNrUHJvcGVy
dHkobmFtZSkpCisgICAgICAgIHJldHVybiB2YWx1ZTsKKworICAgIEV4Y2VwdGlvbkNvZGUgZWMg
PSAwOworICAgIFY4RE9NU3RyaW5nTWFwOjp0b05hdGl2ZShpbmZvLkhvbGRlcigpKS0+c2V0SXRl
bSh0b1dlYkNvcmVTdHJpbmcobmFtZSksIHRvV2ViQ29yZVN0cmluZyh2YWx1ZSksIGVjKTsKKyAg
ICBpZiAoZWMpCisgICAgICAgIHRocm93RXJyb3IoZWMpOworICAgIHJldHVybiB2YWx1ZTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxlbWVu
dC5pZGwgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAppbmRleCAwMTQxMzEzN2RjY2M0ZjEwNTI0
ZmM3NWE1ZGVjODVhZjJmYTgzMDllLi4yYjYyYTFhODRmMTMzM2ZhMGNkYjg3ODVkMWExNTMxMjBl
ZGQ2MzJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAorKysgYi9XZWJDb3Jl
L2RvbS9FbGVtZW50LmlkbApAQCAtMTAwLDEwICsxMDAsOCBAQCBtb2R1bGUgY29yZSB7CiAgICAg
ICAgIE5vZGVMaXN0IGdldEVsZW1lbnRzQnlDbGFzc05hbWUoaW4gRE9NU3RyaW5nIG5hbWUpOwog
CiAjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBU
Ci0jaWYgIWRlZmluZWQoVjhfQklORElORykgfHwgIVY4X0JJTkRJTkcKICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZ01hcCBkYXRhc2V0OwogI2VuZGlmCi0jZW5kaWYKIAogICAg
ICAgICAvLyBOb2RlU2VsZWN0b3IgLSBTZWxlY3RvciBBUEkKICAgICAgICAgRWxlbWVudCBxdWVy
eVNlbGVjdG9yKGluIERPTVN0cmluZyBzZWxlY3RvcnMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDE5YmNi
ZWU2ZWIyOWIxYWQzNmEzYTU4YTA4MDFmN2YxNWI3NzBkOTYuLjcyODNmMWZlODgyNzRlYzEwMTE3
OGVjY2U5ZWFjODE5MDhlNmJkYzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC00NjQsOSArNDY0LDcgQEAg
bW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFT
LEVuYWJsZWRBdFJ1bnRpbWVdIFdlYkdMUmVuZGVyaW5nQ29udGV4dENvbnN0cnVjdG9yIFdlYkdM
UmVuZGVyaW5nQ29udGV4dDsKICAgICAgICAgYXR0cmlidXRlIFRleHRNZXRyaWNzQ29uc3RydWN0
b3IgVGV4dE1ldHJpY3M7CiAKLSNpZiAhZGVmaW5lZChWOF9CSU5ESU5HKSB8fCAhVjhfQklORElO
RwogICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nTWFwQ29uc3RydWN0b3IgRE9NU3RyaW5nTWFw
OwotI2VuZGlmCiAKICAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9u
YWw9M0RfQ0FOVkFTLEVuYWJsZWRBdFJ1bnRpbWVdIEFycmF5QnVmZmVyQ29uc3RydWN0b3IgQXJy
YXlCdWZmZXI7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogICAgICAgICBhdHRyaWJ1dGUg
W0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5hYmxlZEF0UnVudGltZV0g
SW50OEFycmF5Q29uc3RydWN0b3IgSW50OEFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0
b3IK
</data>

          </attachment>
      

    </bug>

</bugzilla>