| 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 23 matching lines...) Expand all  Loading... | 
|  34 #include "core/CSSValueKeywords.h" |  34 #include "core/CSSValueKeywords.h" | 
|  35 #include "core/animation/animatable/AnimatableValue.h" |  35 #include "core/animation/animatable/AnimatableValue.h" | 
|  36 #include "core/css/CSSValuePool.h" |  36 #include "core/css/CSSValuePool.h" | 
|  37  |  37  | 
|  38 namespace blink { |  38 namespace blink { | 
|  39  |  39  | 
|  40 class AnimatableUnknown final : public AnimatableValue { |  40 class AnimatableUnknown final : public AnimatableValue { | 
|  41 public: |  41 public: | 
|  42     ~AnimatableUnknown() override { } |  42     ~AnimatableUnknown() override { } | 
|  43  |  43  | 
|  44     static PassRefPtr<AnimatableUnknown> create(PassRefPtrWillBeRawPtr<CSSValue>
     value) |  44     static PassRefPtr<AnimatableUnknown> create(RawPtr<CSSValue> value) | 
|  45     { |  45     { | 
|  46         return adoptRef(new AnimatableUnknown(value)); |  46         return adoptRef(new AnimatableUnknown(value)); | 
|  47     } |  47     } | 
|  48     static PassRefPtr<AnimatableUnknown> create(CSSValueID value) |  48     static PassRefPtr<AnimatableUnknown> create(CSSValueID value) | 
|  49     { |  49     { | 
|  50         return adoptRef(new AnimatableUnknown(cssValuePool().createIdentifierVal
    ue(value))); |  50         return adoptRef(new AnimatableUnknown(cssValuePool().createIdentifierVal
    ue(value))); | 
|  51     } |  51     } | 
|  52  |  52  | 
|  53     PassRefPtrWillBeRawPtr<CSSValue> toCSSValue() const { return m_value; } |  53     RawPtr<CSSValue> toCSSValue() const { return m_value; } | 
|  54     CSSValueID toCSSValueID() const { return toCSSPrimitiveValue(m_value.get())-
    >getValueID(); } |  54     CSSValueID toCSSValueID() const { return toCSSPrimitiveValue(m_value.get())-
    >getValueID(); } | 
|  55  |  55  | 
|  56 protected: |  56 protected: | 
|  57     PassRefPtr<AnimatableValue> interpolateTo(const AnimatableValue* value, doub
    le fraction) const override |  57     PassRefPtr<AnimatableValue> interpolateTo(const AnimatableValue* value, doub
    le fraction) const override | 
|  58     { |  58     { | 
|  59         return defaultInterpolateTo(this, value, fraction); |  59         return defaultInterpolateTo(this, value, fraction); | 
|  60     } |  60     } | 
|  61  |  61  | 
|  62     bool usesDefaultInterpolationWith(const AnimatableValue*) const override { r
    eturn true; } |  62     bool usesDefaultInterpolationWith(const AnimatableValue*) const override { r
    eturn true; } | 
|  63  |  63  | 
|  64 private: |  64 private: | 
|  65     explicit AnimatableUnknown(PassRefPtrWillBeRawPtr<CSSValue> value) |  65     explicit AnimatableUnknown(RawPtr<CSSValue> value) | 
|  66         : m_value(value) |  66         : m_value(value) | 
|  67     { |  67     { | 
|  68         ASSERT(m_value); |  68         ASSERT(m_value); | 
|  69     } |  69     } | 
|  70     AnimatableType type() const override { return TypeUnknown; } |  70     AnimatableType type() const override { return TypeUnknown; } | 
|  71     bool equalTo(const AnimatableValue*) const override; |  71     bool equalTo(const AnimatableValue*) const override; | 
|  72  |  72  | 
|  73     const RefPtrWillBePersistent<CSSValue> m_value; |  73     const Persistent<CSSValue> m_value; | 
|  74 }; |  74 }; | 
|  75  |  75  | 
|  76 DEFINE_ANIMATABLE_VALUE_TYPE_CASTS(AnimatableUnknown, isUnknown()); |  76 DEFINE_ANIMATABLE_VALUE_TYPE_CASTS(AnimatableUnknown, isUnknown()); | 
|  77  |  77  | 
|  78 inline bool AnimatableUnknown::equalTo(const AnimatableValue* value) const |  78 inline bool AnimatableUnknown::equalTo(const AnimatableValue* value) const | 
|  79 { |  79 { | 
|  80     const AnimatableUnknown* unknown = toAnimatableUnknown(value); |  80     const AnimatableUnknown* unknown = toAnimatableUnknown(value); | 
|  81     return m_value == unknown->m_value || m_value->equals(*unknown->m_value); |  81     return m_value == unknown->m_value || m_value->equals(*unknown->m_value); | 
|  82 } |  82 } | 
|  83  |  83  | 
|  84 } // namespace blink |  84 } // namespace blink | 
|  85  |  85  | 
|  86 #endif // AnimatableUnknown_h |  86 #endif // AnimatableUnknown_h | 
| OLD | NEW |