<?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>101783</bug_id>
          
          <creation_ts>2012-11-09 12:51:35 -0800</creation_ts>
          <short_desc>WebIDL: number type conversions should throw TypeError for Infinity and NaN</short_desc>
          <delta_ts>2022-09-04 13:41:08 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</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>
          <dependson>96798</dependson>
          <blocked>101764</blocked>
    
    <blocked>110243</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Erik Arvidsson">arv</reporter>
          <assigned_to name="Erik Arvidsson">arv</assigned_to>
          <cc>abarth</cc>
    
    <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>dev</cc>
    
    <cc>haraken</cc>
    
    <cc>heycam</cc>
    
    <cc>jsbell</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>763244</commentid>
    <comment_count>0</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-11-09 12:51:35 -0800</bug_when>
    <thetext>When a JS value is supposed to be converted to one of the following IDL types

byte
octet
short
unsigned short
long
unsigned long
long long
unsigned long long
float
double

we should throw a TypeError if the value is NaN or Infinity.

The only ones that accept NaN are the &quot;restricted float&quot; and &quot;restricted double&quot; (which we are not using anywhere)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763257</commentid>
    <comment_count>1</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-09 13:12:55 -0800</bug_when>
    <thetext>I linked this to https://bugs.webkit.org/show_bug.cgi?id=96798 which has at least part of this logic implemented, but is blocked on a V8 bug that is, in turn, blocked on a Chromium bug (which is getting worked on now).

It&apos;s been a while since I looked at the patch so I&apos;m not sure if I tackled all the 32/64/signed/unsigned permutations or just the subset I needed at the time.

Feel free to steal some/all of the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763261</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-09 13:15:06 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; I linked this to https://bugs.webkit.org/show_bug.cgi?id=96798

... which is focused on [EnforceRange] specifically, not on NaNs/Infinities, but the conversion for all cases could use an overhaul.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763276</commentid>
    <comment_count>3</comment_count>
      <attachid>173355</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-11-09 13:37:28 -0800</bug_when>
    <thetext>Created attachment 173355
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763284</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-09 13:48:42 -0800</bug_when>
    <thetext>How does this affect performance?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763292</commentid>
    <comment_count>5</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-11-09 13:57:05 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; How does this affect performance?

Adding more tests and branching is going to be unavoidable. Once this gets closer to complete I will have to do some perf tests. I expect some slow down, hopefully it will be small enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1896014</commentid>
    <comment_count>6</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-09-03 04:33:39 -0700</bug_when>
    <thetext>rniwa@webkit.org - Is this needed because attached WIP seems to have v8 (JS engine of Chrome) specific bits I think? Is this needed in JSC? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1896052</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-09-03 11:34:21 -0700</bug_when>
    <thetext>This is Later at this point.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173355</attachid>
            <date>2012-11-09 13:37:28 -0800</date>
            <delta_ts>2012-11-09 13:37:28 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-101783-20121109163535.patch</filename>
            <type>text/plain</type>
            <size>3526</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IGZiZGRhZTdiYWI4Y2I1Mzc0ZjNk
NTZlZTc2N2QzZTBjNTQ2ZGFkZDUuLmY0YmMwZDI5MGNkNDM4MmQxNzgwYTYyMDRjZjkyZjk5ZDBk
NWYzMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvclY4LnBtCkBAIC0xODMyLDggKzE4MzIsOCBAQCBzdWIgR2VuZXJhdGVQYXJhbWV0ZXJz
Q2hlY2sKICAgICAgICAgICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAg
ICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7XG4iOwogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVj
a1N0cmluZyAuPSAiICAgIEVYQ0VQVElPTl9CTE9DSygkbmF0aXZlVHlwZSwgJHBhcmFtZXRlck5h
bWUsICIgLgotICAgICAgICAgICAgICAgICBKU1ZhbHVlVG9OYXRpdmUoJHBhcmFtZXRlciwgIk1B
WUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsICRwYXJhbUluZGV4LCAkcGFyYW1ldGVyRGVmYXVs
dFBvbGljeSkiLCAiYXJncy5HZXRJc29sYXRlKCkiKSAuICIpO1xuIjsKKyAgICAgICAgICAgICRw
YXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIEVYQ0VQVElPTl9CTE9DS19NQVlfRkFJTCgkbmF0
aXZlVHlwZSwgJHBhcmFtZXRlck5hbWUsICIgLgorICAgICAgICAgICAgICAgICBKU1ZhbHVlVG9O
YXRpdmUoJHBhcmFtZXRlciwgIk1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsICRwYXJhbUlu
ZGV4LCAkcGFyYW1ldGVyRGVmYXVsdFBvbGljeSkiLCAiYXJncy5HZXRJc29sYXRlKCkiLCAxKSAu
ICIpO1xuIjsKICAgICAgICAgICAgIGlmICgkbmF0aXZlVHlwZSBlcSAnRGljdGlvbmFyeScpIHsK
ICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIGlmICghJHBhcmFt
ZXRlck5hbWUuaXNVbmRlZmluZWRPck51bGwoKSAmJiAhJHBhcmFtZXRlck5hbWUuaXNPYmplY3Qo
KSlcbiI7CiAgICAgICAgICAgICAgICAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcgLj0gIiAgICAgICAg
cmV0dXJuIHRocm93VHlwZUVycm9yKFwiTm90IGFuIG9iamVjdC5cIiwgYXJncy5HZXRJc29sYXRl
KCkpO1xuIjsKQEAgLTM3MjksNiArMzcyOSw3IEBAIHN1YiBKU1ZhbHVlVG9OYXRpdmUKICAgICBt
eSAkc2lnbmF0dXJlID0gc2hpZnQ7CiAgICAgbXkgJHZhbHVlID0gc2hpZnQ7CiAgICAgbXkgJGdl
dElzb2xhdGUgPSBzaGlmdDsKKyAgICBteSAkbWF5RmFpbCA9IHNoaWZ0OwogCiAgICAgbXkgJHR5
cGUgPSBHZXRUeXBlRnJvbVNpZ25hdHVyZSgkc2lnbmF0dXJlKTsKIApAQCAtMzczNiw3ICszNzM3
LDkgQEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgIHJldHVybiAiJHZhbHVlLT5Cb29sZWFuVmFs
dWUoKSIgaWYgJHR5cGUgZXEgImJvb2xlYW4iOwogICAgIHJldHVybiAic3RhdGljX2Nhc3Q8JHR5
cGU+KCR2YWx1ZS0+TnVtYmVyVmFsdWUoKSkiIGlmICR0eXBlIGVxICJmbG9hdCIgb3IgJHR5cGUg
ZXEgImRvdWJsZSI7CiAKKyAgICByZXR1cm4gInRvSW50MzIoJHZhbHVlLCBvaykiIGlmICRtYXlG
YWlsIGFuZCAoJHR5cGUgZXEgImxvbmciIG9yICR0eXBlIGVxICJzaG9ydCIpOwogICAgIHJldHVy
biAidG9JbnQzMigkdmFsdWUpIiBpZiAkdHlwZSBlcSAibG9uZyIgb3IgJHR5cGUgZXEgInNob3J0
IjsKKyAgICByZXR1cm4gInRvVUludDMyKCR2YWx1ZSwgb2spIiBpZiAkbWF5RmFpbCBhbmQgKCR0
eXBlIGVxICJ1bnNpZ25lZCBsb25nIiBvciAkdHlwZSBlcSAidW5zaWduZWQgc2hvcnQiKTsKICAg
ICByZXR1cm4gInRvVUludDMyKCR2YWx1ZSkiIGlmICR0eXBlIGVxICJ1bnNpZ25lZCBsb25nIiBv
ciAkdHlwZSBlcSAidW5zaWduZWQgc2hvcnQiOwogICAgIHJldHVybiAidG9JbnQ2NCgkdmFsdWUp
IiBpZiAkdHlwZSBlcSAidW5zaWduZWQgbG9uZyBsb25nIiBvciAkdHlwZSBlcSAibG9uZyBsb25n
IjsKICAgICByZXR1cm4gInN0YXRpY19jYXN0PFJhbmdlOjpDb21wYXJlSG93PigkdmFsdWUtPklu
dDMyVmFsdWUoKSkiIGlmICR0eXBlIGVxICJDb21wYXJlSG93IjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZ01hY3Jvcy5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhCaW5kaW5nTWFjcm9zLmgKaW5kZXggZjRjYWI4Yjg1OTFiN2ZlZjMwNGNh
MGY5OGYwMzliYjU3ODdjYTFjZC4uOGIzN2QxNTU5NDhhODY2OWQzYjBjODI0YjliMDE2OTJlMzhl
MWYxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nTWFj
cm9zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nTWFjcm9zLmgK
QEAgLTUzLDYgKzUzLDIwIEBAIGVudW0gUGFyYW1ldGVyRGVmYXVsdFBvbGljeSB7CiAgICAgICAg
ICAgICByZXR1cm4gYmxvY2suUmVUaHJvdygpOyAgICAgICBcCiAgICAgfQogCisjZGVmaW5lIEVY
Q0VQVElPTl9CTE9DS19NQVlfRkFJTCh0eXBlLCB2YXIsIHZhbHVlKSBcCisgICAgdHlwZSB2YXI7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGJvb2wgb2sgPSB0
cnVlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB2ODo6VHJ5Q2F0Y2gg
YmxvY2s7ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB2YXIgPSAodmFsdWUpOyAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBpZiAoYmxvY2suSGFzQ2F1Z2h0
KCkpICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgcmV0dXJuIGJsb2NrLlJlVGhy
b3coKTsgICAgICAgICAgICBcCisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgIGlmICghb2spICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoMCk7ICAgICAg
ICAgICAgICBcCisgICAgfQorCiAjZGVmaW5lIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJ
T05fQkxPQ0sodHlwZSwgdmFyLCB2YWx1ZSkgXAogICAgIHR5cGUgdmFyKHZhbHVlKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBpZiAoIXZhci5wcmVw
YXJlKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>