<?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>73368</bug_id>
          
          <creation_ts>2011-11-29 15:05:27 -0800</creation_ts>
          <short_desc>toStringCallback and valueOfCallback do not check the entire prototype chain for convertToType callback</short_desc>
          <delta_ts>2011-11-30 11:43:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>ggaren</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>511140</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-29 15:05:27 -0800</bug_when>
    <thetext>We need to check the entire chain, since the first JSClassRef may not be the one with the convertToType callback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511142</commentid>
    <comment_count>1</comment_count>
      <attachid>117054</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-29 15:07:46 -0800</bug_when>
    <thetext>Created attachment 117054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511184</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-29 16:14:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/10493218&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511257</commentid>
    <comment_count>3</comment_count>
      <attachid>117054</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-11-29 17:42:13 -0800</bug_when>
    <thetext>Comment on attachment 117054
Patch

WebKit coding style requires more braces around those if statement bodies. We only omit them when the body is 1-line, not 1-statement-over-multiple-lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511970</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-30 11:43:07 -0800</bug_when>
    <thetext>Committed r101539: &lt;http://trac.webkit.org/changeset/101539&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117054</attachid>
            <date>2011-11-29 15:07:46 -0800</date>
            <delta_ts>2011-11-29 17:42:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73368-20111129150745.patch</filename>
            <type>text/plain</type>
            <size>3755</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
YTExM2QzZDUyYmM3MzM5MTYzMDVlNjRiZTc2YTUxYjA5YzA5ODU0Li40YzM0OWNjYTc0NDY0YjBk
OWM4ZmM0MmFjNzkwZjY3Zjg2NjUzZjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMS0xMS0yOSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBw
bGUuY29tPgorCisgICAgICAgIHRvU3RyaW5nQ2FsbGJhY2sgYW5kIHZhbHVlT2ZDYWxsYmFjayBk
byBub3QgY2hlY2sgdGhlIGVudGlyZSBwcm90b3R5cGUgY2hhaW4gZm9yIGNvbnZlcnRUb1R5cGUg
Y2FsbGJhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTczMzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2UgbmVlZCB0byBzZWFyY2ggdGhlIGVudGlyZSBwcm90b3R5cGUgY2hhaW4gZm9yIHRoZSBjb252
ZXJ0VG9UeXBlIGNhbGxiYWNrLCByYXRoZXIgdGhhbiBqdXN0IGNhbGxpbmcgd2hhdGV2ZXIKKyAg
ICAgICAgaGFwcGVucyB0byBiZSBpbiB0aGUgZmlyc3QgY2xhc3Mgb2YgdGhlIGNoYWluLCB3aGlj
aCBwb3RlbnRpYWxseSBjb3VsZCBiZSBudWxsLgorCisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tG
dW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tGdW5jdGlvbjo6dG9TdHJpbmdD
YWxsYmFjayk6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tGdW5jdGlvbjo6dmFsdWVPZkNhbGxi
YWNrKToKKwogMjAxMS0xMS0yOCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAg
ICAgICAgIERGRyBkZWJ1Z0NhbGwoKSBtZWNoYW5pc20gb25seSB3b3JrcyBvbiBYODYgYW5kIFg4
Ni02NApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVu
Y3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24u
Y3BwCmluZGV4IGU4ZWE2MmUxZTgxN2MzMGJjYTMyYzY0MTcwODE4YTUxYTU3MGFjNTIuLjI1M2Zj
ODM1MmMyNmE5NGRmNjU1NDc3NGU1ZDJhMjAwYmY1ZjJlMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAKQEAgLTg4LDkgKzg4LDEzIEBA
IEpTVmFsdWVSZWYgSlNDYWxsYmFja0Z1bmN0aW9uOjp0b1N0cmluZ0NhbGxiYWNrKEpTQ29udGV4
dFJlZiBjdHgsIEpTT2JqZWN0UmVmLCBKCiB7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IHRvSlMo
dGhpc09iamVjdCk7CiAgICAgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkpTQ2FsbGJhY2tPYmplY3Q8
SlNOb25GaW5hbE9iamVjdD46OnNfaW5mbykpCi0gICAgICAgIHJldHVybiBqc0Nhc3Q8SlNDYWxs
YmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pio+KG9iamVjdCktPmNsYXNzUmVmKCktPmNvbnZl
cnRUb1R5cGUoY3R4LCB0aGlzT2JqZWN0LCBrSlNUeXBlU3RyaW5nLCBleGNlcHRpb24pOwotICAg
IGlmIChvYmplY3QtPmluaGVyaXRzKCZKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6
c19pbmZvKSkKLSAgICAgICAgcmV0dXJuIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFs
T2JqZWN0Pio+KG9iamVjdCktPmNsYXNzUmVmKCktPmNvbnZlcnRUb1R5cGUoY3R4LCB0aGlzT2Jq
ZWN0LCBrSlNUeXBlU3RyaW5nLCBleGNlcHRpb24pOworICAgICAgICBmb3IgKEpTQ2xhc3NSZWYg
anNDbGFzcyA9IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Kj4ob2Jq
ZWN0KS0+Y2xhc3NSZWYoKTsganNDbGFzczsganNDbGFzcyA9IGpzQ2xhc3MtPnBhcmVudENsYXNz
KQorICAgICAgICAgICAgaWYgKGpzQ2xhc3MtPmNvbnZlcnRUb1R5cGUpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIGpzQ2xhc3MtPmNvbnZlcnRUb1R5cGUoY3R4LCB0aGlzT2JqZWN0LCBrSlNUeXBl
U3RyaW5nLCBleGNlcHRpb24pOworICAgIGVsc2UgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkpTQ2Fs
bGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+OjpzX2luZm8pKQorICAgICAgICBmb3IgKEpTQ2xh
c3NSZWYganNDbGFzcyA9IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+
KG9iamVjdCktPmNsYXNzUmVmKCk7IGpzQ2xhc3M7IGpzQ2xhc3MgPSBqc0NsYXNzLT5wYXJlbnRD
bGFzcykKKyAgICAgICAgICAgIGlmIChqc0NsYXNzLT5jb252ZXJ0VG9UeXBlKQorICAgICAgICAg
ICAgICAgIHJldHVybiBqc0NsYXNzLT5jb252ZXJ0VG9UeXBlKGN0eCwgdGhpc09iamVjdCwga0pT
VHlwZVN0cmluZywgZXhjZXB0aW9uKTsKICAgICByZXR1cm4gMDsKIH0KIApAQCAtOTgsOSArMTAy
LDEzIEBAIEpTVmFsdWVSZWYgSlNDYWxsYmFja0Z1bmN0aW9uOjp2YWx1ZU9mQ2FsbGJhY2soSlND
b250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYsIEpTCiB7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9
IHRvSlModGhpc09iamVjdCk7CiAgICAgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkpTQ2FsbGJhY2tP
YmplY3Q8SlNOb25GaW5hbE9iamVjdD46OnNfaW5mbykpCi0gICAgICAgIHJldHVybiBqc0Nhc3Q8
SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pio+KG9iamVjdCktPmNsYXNzUmVmKCkt
PmNvbnZlcnRUb1R5cGUoY3R4LCB0aGlzT2JqZWN0LCBrSlNUeXBlTnVtYmVyLCBleGNlcHRpb24p
OwotICAgIGlmIChvYmplY3QtPmluaGVyaXRzKCZKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2Jq
ZWN0Pjo6c19pbmZvKSkKLSAgICAgICAgcmV0dXJuIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpT
R2xvYmFsT2JqZWN0Pio+KG9iamVjdCktPmNsYXNzUmVmKCktPmNvbnZlcnRUb1R5cGUoY3R4LCB0
aGlzT2JqZWN0LCBrSlNUeXBlTnVtYmVyLCBleGNlcHRpb24pOworICAgICAgICBmb3IgKEpTQ2xh
c3NSZWYganNDbGFzcyA9IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+
Kj4ob2JqZWN0KS0+Y2xhc3NSZWYoKTsganNDbGFzczsganNDbGFzcyA9IGpzQ2xhc3MtPnBhcmVu
dENsYXNzKQorICAgICAgICAgICAgaWYgKGpzQ2xhc3MtPmNvbnZlcnRUb1R5cGUpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGpzQ2xhc3MtPmNvbnZlcnRUb1R5cGUoY3R4LCB0aGlzT2JqZWN0LCBr
SlNUeXBlTnVtYmVyLCBleGNlcHRpb24pOworICAgIGVsc2UgaWYgKG9iamVjdC0+aW5oZXJpdHMo
JkpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+OjpzX2luZm8pKQorICAgICAgICBmb3Ig
KEpTQ2xhc3NSZWYganNDbGFzcyA9IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2Jq
ZWN0Pio+KG9iamVjdCktPmNsYXNzUmVmKCk7IGpzQ2xhc3M7IGpzQ2xhc3MgPSBqc0NsYXNzLT5w
YXJlbnRDbGFzcykKKyAgICAgICAgICAgIGlmIChqc0NsYXNzLT5jb252ZXJ0VG9UeXBlKQorICAg
ICAgICAgICAgICAgIHJldHVybiBqc0NsYXNzLT5jb252ZXJ0VG9UeXBlKGN0eCwgdGhpc09iamVj
dCwga0pTVHlwZU51bWJlciwgZXhjZXB0aW9uKTsKICAgICByZXR1cm4gMDsKIH0KIAo=
</data>
<flag name="review"
          id="116371"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>