[Webkit-unassigned] [Bug 30847] step attribute support for date&time types
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Feb 10 12:46:40 PST 2010
https://bugs.webkit.org/show_bug.cgi?id=30847
Darin Adler <darin at apple.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #48483|review? |review+
Flag| |
--- Comment #2 from Darin Adler <darin at apple.com> 2010-02-10 12:46:39 PST ---
(From update of attachment 48483)
> +static const double monthDefaultMaximum = (INT_MAX - 1970) * 12.0 + 12 - 1;
This needs a comment like the one in the change log explaining why this is the
right value to use. Also, the 12 there should just be 12 rather than 12.0.
> + if (!isfinite(doubleValue))
> + return false;
> + doubleValue = fabs(doubleValue - stepBase());
> + if (isinf(doubleValue))
> + return false;
> + ASSERT(round(doubleValue) == doubleValue);
> + ASSERT(round(step) == step);
> + return fmod(doubleValue, step);
There is double error checking here. I suggest you just do a single !isfinite
check once just before the assertions. The math can be done on nan and infinity
and they will stay nan and infinity.
> + parsed = round(parsed);
> + if (parsed < 1.0)
> + parsed = 1.0;
I think it's easier to read code like this if you use max instead of an if
statement. You have this code twice in a row and could do that in both case.
> + if (!fmod(step, 60000)) {
This should be a named constant.
> + if (!fmod(step, 1000)) {
This should be a named constant.
You keep making local constants named nan to make your code readable, and this
makes me think we should define either WTF::nan or WebCore::nan so you won't
have to keep doing that.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list