No subject
Wed Aug 1 07:28:53 PDT 2012
1. If x is NaN, +=E2=88=9E, or =E2=88=92=E2=88=9E, then throw a TypeError.
2. Set x to sign(x) * floor(abs(x)).
3. If x < =E2=88=92(2^53 =E2=88=92 1) or x > 2^53 =E2=88=92 1, then throw a=
TypeError.
4. Return the IDL long long value that represents the same numeric value as=
x.
Note that there are similar cases for unsigned long long.
The binding code generator says:
return "toInt64($value)" if $type eq "unsigned long long" or $type eq "long=
long";
and toInt64 defined in bindings/v8/V8Binding.h is:
inline long long toInt64(v8::Local<v8::Value> value)
{
return static_cast<long long>(value->IntegerValue());
}
... so there are no guard checks.=20
This causes IndexedDB to fail the test http://w3c-test.org/webapps/IndexedD=
B/tests/submissions/Ms2ger/idbfactory_open9.htm
We could special case this in the IDB code, or change toInt64 to incorporat=
e the checks from WebIDL and call throwTypeError().
--=20
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the assignee for the bug.=
More information about the webkit-unassigned
mailing list