• Jungshik Shin's avatar
    Intl.DateTimeFormat: throw RangeError for non-finite input · 831bc233
    Jungshik Shin authored
    intl.js throws an exception when datetime-value to format is
    Infinity or NaN, but there was a way to thwart the check.
    
    Moreover, intl.js and runtime-intl.cc have unnecessary conversions
    of 'Number->Date->Number'. I removed the unnecessary conversion
    and made 'Number' be passed to %InternalDateFormat.  With this
    streamlining, the work-around mentioned above does not work
    anymore.
    
    Add a check in runtime_intl.cc for Infinity/NaN and throw a
    RangeError.
    
    Add invalid-time test for invalid datetime-values passed to
    Intl.DateTimeFormat.format().
    
    Bug: chromium:774833
    Test: intl/date-format/invalid-time.js
    Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng
    Change-Id: Idc575e532a86ee110dc4bb945ae023d6516650ee
    Reviewed-on: https://chromium-review.googlesource.com/724860
    Commit-Queue: Jungshik Shin <jshin@chromium.org>
    Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48765}
    831bc233
runtime-intl.cc 29.7 KB