Commit 8ac709e3 authored by timloh@chromium.org's avatar timloh@chromium.org

Fix unprefixed transitions when experimental features flag is off

The patch https://codereview.chromium.org/415613002 unintentionally
made unprefixed transitions depend on the animations unprefixed
flag as it made us exit out of prefixingVariantForPropertyId when
the flag was off.

BUG=404001

Review URL: https://codereview.chromium.org/478523003

git-svn-id: svn://svn.chromium.org/blink/trunk@180327 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 32b1e19e
<!DOCTYPE html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<style>
#bg {
transition: all 5s;
transform: none;
}
</style>
<div id="div"></div>
<script>
div.offsetTop;
test(function() {
div.style.transform = "translateX(100px)";
assert_not_equals(getComputedStyle(div).transform, "translateX(100px)");
}, 'Ensure that unprefixed transitions work.');
</script>
......@@ -92,101 +92,73 @@ private:
inline CSSPropertyID prefixingVariantForPropertyId(CSSPropertyID propId)
{
if (!RuntimeEnabledFeatures::cssAnimationUnprefixedEnabled())
return propId;
if (RuntimeEnabledFeatures::cssAnimationUnprefixedEnabled()) {
switch (propId) {
case CSSPropertyAnimation:
return CSSPropertyWebkitAnimation;
case CSSPropertyAnimationDelay:
return CSSPropertyWebkitAnimationDelay;
case CSSPropertyAnimationDirection:
return CSSPropertyWebkitAnimationDirection;
case CSSPropertyAnimationDuration:
return CSSPropertyWebkitAnimationDuration;
case CSSPropertyAnimationFillMode:
return CSSPropertyWebkitAnimationFillMode;
case CSSPropertyAnimationIterationCount:
return CSSPropertyWebkitAnimationIterationCount;
case CSSPropertyAnimationName:
return CSSPropertyWebkitAnimationName;
case CSSPropertyAnimationPlayState:
return CSSPropertyWebkitAnimationPlayState;
case CSSPropertyAnimationTimingFunction:
return CSSPropertyWebkitAnimationTimingFunction;
case CSSPropertyWebkitAnimation:
return CSSPropertyAnimation;
case CSSPropertyWebkitAnimationDelay:
return CSSPropertyAnimationDelay;
case CSSPropertyWebkitAnimationDirection:
return CSSPropertyAnimationDirection;
case CSSPropertyWebkitAnimationDuration:
return CSSPropertyAnimationDuration;
case CSSPropertyWebkitAnimationFillMode:
return CSSPropertyAnimationFillMode;
case CSSPropertyWebkitAnimationIterationCount:
return CSSPropertyAnimationIterationCount;
case CSSPropertyWebkitAnimationName:
return CSSPropertyAnimationName;
case CSSPropertyWebkitAnimationPlayState:
return CSSPropertyAnimationPlayState;
case CSSPropertyWebkitAnimationTimingFunction:
return CSSPropertyAnimationTimingFunction;
default:
break;
}
}
CSSPropertyID propertyId = CSSPropertyInvalid;
switch (propId) {
case CSSPropertyAnimation:
propertyId = CSSPropertyWebkitAnimation;
break;
case CSSPropertyAnimationDelay:
propertyId = CSSPropertyWebkitAnimationDelay;
break;
case CSSPropertyAnimationDirection:
propertyId = CSSPropertyWebkitAnimationDirection;
break;
case CSSPropertyAnimationDuration:
propertyId = CSSPropertyWebkitAnimationDuration;
break;
case CSSPropertyAnimationFillMode:
propertyId = CSSPropertyWebkitAnimationFillMode;
break;
case CSSPropertyAnimationIterationCount:
propertyId = CSSPropertyWebkitAnimationIterationCount;
break;
case CSSPropertyAnimationName:
propertyId = CSSPropertyWebkitAnimationName;
break;
case CSSPropertyAnimationPlayState:
propertyId = CSSPropertyWebkitAnimationPlayState;
break;
case CSSPropertyAnimationTimingFunction:
propertyId = CSSPropertyWebkitAnimationTimingFunction;
break;
case CSSPropertyTransitionDelay:
propertyId = CSSPropertyWebkitTransitionDelay;
break;
return CSSPropertyWebkitTransitionDelay;
case CSSPropertyTransitionDuration:
propertyId = CSSPropertyWebkitTransitionDuration;
break;
return CSSPropertyWebkitTransitionDuration;
case CSSPropertyTransitionProperty:
propertyId = CSSPropertyWebkitTransitionProperty;
break;
return CSSPropertyWebkitTransitionProperty;
case CSSPropertyTransitionTimingFunction:
propertyId = CSSPropertyWebkitTransitionTimingFunction;
break;
return CSSPropertyWebkitTransitionTimingFunction;
case CSSPropertyTransition:
propertyId = CSSPropertyWebkitTransition;
break;
case CSSPropertyWebkitAnimation:
propertyId = CSSPropertyAnimation;
break;
case CSSPropertyWebkitAnimationDelay:
propertyId = CSSPropertyAnimationDelay;
break;
case CSSPropertyWebkitAnimationDirection:
propertyId = CSSPropertyAnimationDirection;
break;
case CSSPropertyWebkitAnimationDuration:
propertyId = CSSPropertyAnimationDuration;
break;
case CSSPropertyWebkitAnimationFillMode:
propertyId = CSSPropertyAnimationFillMode;
break;
case CSSPropertyWebkitAnimationIterationCount:
propertyId = CSSPropertyAnimationIterationCount;
break;
case CSSPropertyWebkitAnimationName:
propertyId = CSSPropertyAnimationName;
break;
case CSSPropertyWebkitAnimationPlayState:
propertyId = CSSPropertyAnimationPlayState;
break;
case CSSPropertyWebkitAnimationTimingFunction:
propertyId = CSSPropertyAnimationTimingFunction;
break;
return CSSPropertyWebkitTransition;
case CSSPropertyWebkitTransitionDelay:
propertyId = CSSPropertyTransitionDelay;
break;
return CSSPropertyTransitionDelay;
case CSSPropertyWebkitTransitionDuration:
propertyId = CSSPropertyTransitionDuration;
break;
return CSSPropertyTransitionDuration;
case CSSPropertyWebkitTransitionProperty:
propertyId = CSSPropertyTransitionProperty;
break;
return CSSPropertyTransitionProperty;
case CSSPropertyWebkitTransitionTimingFunction:
propertyId = CSSPropertyTransitionTimingFunction;
break;
return CSSPropertyTransitionTimingFunction;
case CSSPropertyWebkitTransition:
propertyId = CSSPropertyTransition;
break;
return CSSPropertyTransition;
default:
propertyId = propId;
break;
return propId;
}
ASSERT(propertyId != CSSPropertyInvalid);
return propertyId;
}
} // namespace blink
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment