std::unique_ptr<InterpolableValue> CSSColorInterpolationType::createInterpolableColor(CSSValueID keyword) { switch (keyword) { case CSSValueCurrentcolor: return createInterpolableColorForIndex(Currentcolor); case CSSValueWebkitActivelink: return createInterpolableColorForIndex(WebkitActivelink); case CSSValueWebkitLink: return createInterpolableColorForIndex(WebkitLink); case CSSValueInternalQuirkInherit: return createInterpolableColorForIndex(QuirkInherit); case CSSValueWebkitFocusRingColor: return createInterpolableColor(LayoutTheme::theme().focusRingColor()); default: DCHECK(StyleColor::isColorKeyword(keyword)); return createInterpolableColor(StyleColor::colorFromKeyword(keyword)); } }
PassOwnPtr<InterpolableValue> CSSColorInterpolationType::createInterpolableColor(CSSValueID keyword) { switch (keyword) { case CSSValueCurrentcolor: return createInterpolableColorForIndex(Currentcolor); case CSSValueWebkitActivelink: return createInterpolableColorForIndex(WebkitActivelink); case CSSValueWebkitLink: return createInterpolableColorForIndex(WebkitLink); case CSSValueWebkitText: return createInterpolableColorForIndex(WebkitText); case CSSValueWebkitFocusRingColor: return createInterpolableColor(LayoutTheme::theme().focusRingColor()); default: ASSERT(CSSPropertyParser::isColorKeyword(keyword)); return createInterpolableColor(StyleColor::colorFromKeyword(keyword)); } }
std::unique_ptr<InterpolableValue> CSSColorInterpolationType::createInterpolableColor(const StyleColor& color) { if (color.isCurrentColor()) return createInterpolableColorForIndex(Currentcolor); return createInterpolableColor(color.getColor()); }