| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2013 Google Inc. All rights reserved. | 2  * Copyright (C) 2013 Google Inc. All rights reserved. | 
| 3  * | 3  * | 
| 4  * Redistribution and use in source and binary forms, with or without | 4  * Redistribution and use in source and binary forms, with or without | 
| 5  * modification, are permitted provided that the following conditions are | 5  * modification, are permitted provided that the following conditions are | 
| 6  * met: | 6  * met: | 
| 7  * | 7  * | 
| 8  *     * Redistributions of source code must retain the above copyright | 8  *     * Redistributions of source code must retain the above copyright | 
| 9  * notice, this list of conditions and the following disclaimer. | 9  * notice, this list of conditions and the following disclaimer. | 
| 10  *     * Redistributions in binary form must reproduce the above | 10  *     * Redistributions in binary form must reproduce the above | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
| 23  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 23  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 
| 24  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 
| 25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 
| 26  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
| 27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
| 28  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
| 29  */ | 29  */ | 
| 30 | 30 | 
| 31 #include "config.h" | 31 #include "config.h" | 
| 32 #include "core/animation/AnimatableValue.h" | 32 #include "core/animation/AnimatableValue.h" | 
| 33 |  | 
| 34 #include "core/animation/AnimatableNeutral.h" | 33 #include "core/animation/AnimatableNeutral.h" | 
| 35 #include "core/animation/AnimatableNumber.h" |  | 
| 36 #include "core/animation/AnimatableUnknown.h" |  | 
| 37 #include "core/animation/DeferredAnimatableValue.h" | 34 #include "core/animation/DeferredAnimatableValue.h" | 
| 38 |  | 
| 39 #include <algorithm> | 35 #include <algorithm> | 
| 40 | 36 | 
| 41 namespace WebCore { | 37 namespace WebCore { | 
| 42 | 38 | 
| 43 PassRefPtr<AnimatableValue> AnimatableValue::create(CSSValue* value) |  | 
| 44 { |  | 
| 45     // FIXME: Move this logic to a separate factory class. |  | 
| 46     // FIXME: Handle all animatable CSSValue types. |  | 
| 47     if (AnimatableNumber::canCreateFrom(value)) |  | 
| 48         return AnimatableNumber::create(value); |  | 
| 49     return AnimatableUnknown::create(value); |  | 
| 50 } |  | 
| 51 |  | 
| 52 const AnimatableValue* AnimatableValue::neutralValue() | 39 const AnimatableValue* AnimatableValue::neutralValue() | 
| 53 { | 40 { | 
| 54     static AnimatableNeutral* neutralSentinelValue = AnimatableNeutral::create()
    .leakRef(); | 41     static AnimatableNeutral* neutralSentinelValue = AnimatableNeutral::create()
    .leakRef(); | 
| 55     return neutralSentinelValue; | 42     return neutralSentinelValue; | 
| 56 } | 43 } | 
| 57 | 44 | 
| 58 const AnimatableValue* AnimatableValue::deferredSnapshotValue() | 45 const AnimatableValue* AnimatableValue::deferredSnapshotValue() | 
| 59 { | 46 { | 
| 60     static DeferredAnimatableValue* deferredAnimatableValueSentinel = DeferredAn
    imatableValue::create().leakRef(); | 47     static DeferredAnimatableValue* deferredAnimatableValueSentinel = DeferredAn
    imatableValue::create().leakRef(); | 
| 61     return deferredAnimatableValueSentinel; | 48     return deferredAnimatableValueSentinel; | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
| 84     if (right->isNeutral()) | 71     if (right->isNeutral()) | 
| 85         return takeConstRef(left); | 72         return takeConstRef(left); | 
| 86 | 73 | 
| 87     if (left->isSameType(right)) | 74     if (left->isSameType(right)) | 
| 88         return left->addWith(right); | 75         return left->addWith(right); | 
| 89 | 76 | 
| 90     return defaultAddWith(left, right); | 77     return defaultAddWith(left, right); | 
| 91 } | 78 } | 
| 92 | 79 | 
| 93 } // namespace WebCore | 80 } // namespace WebCore | 
| OLD | NEW | 
|---|