| Index: Source/core/svg/animation/SMILTime.cpp | 
| diff --git a/Source/core/svg/animation/SMILTime.cpp b/Source/core/svg/animation/SMILTime.cpp | 
| index 7abef296001dca9191d29faf4697b6411346878d..674c18d857ed6a443b047e4ce82a8441e351cc39 100644 | 
| --- a/Source/core/svg/animation/SMILTime.cpp | 
| +++ b/Source/core/svg/animation/SMILTime.cpp | 
| @@ -31,31 +31,10 @@ | 
|  | 
| using namespace blink; | 
|  | 
| -SMILTime blink::operator+(const SMILTime& a, const SMILTime& b) | 
| -{ | 
| -    if (a.isUnresolved() || b.isUnresolved()) | 
| -        return SMILTime::unresolved(); | 
| -    if (a.isIndefinite() || b.isIndefinite()) | 
| -        return SMILTime::indefinite(); | 
| -    return a.value() + b.value(); | 
| -} | 
| - | 
| -SMILTime blink::operator-(const SMILTime& a, const SMILTime& b) | 
| -{ | 
| -    if (a.isUnresolved() || b.isUnresolved()) | 
| -        return SMILTime::unresolved(); | 
| -    if (a.isIndefinite() || b.isIndefinite()) | 
| -        return SMILTime::indefinite(); | 
| -    return a.value() - b.value(); | 
| -} | 
| - | 
| SMILTime blink::operator*(const SMILTime& a,  const SMILTime& b) | 
| { | 
| -    if (a.isUnresolved() || b.isUnresolved()) | 
| -        return SMILTime::unresolved(); | 
| -    if (!a.value() || !b.value()) | 
| +    // Equal operators have to be used instead of negation here to make NaN work as well. | 
| +    if (a.value() == 0 || b.value() == 0) | 
| return SMILTime(0); | 
| -    if (a.isIndefinite() || b.isIndefinite()) | 
| -        return SMILTime::indefinite(); | 
| return a.value() * b.value(); | 
| } | 
|  |