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: ...@@ -92,101 +92,73 @@ private:
inline CSSPropertyID prefixingVariantForPropertyId(CSSPropertyID propId) inline CSSPropertyID prefixingVariantForPropertyId(CSSPropertyID propId)
{ {
if (!RuntimeEnabledFeatures::cssAnimationUnprefixedEnabled()) if (RuntimeEnabledFeatures::cssAnimationUnprefixedEnabled()) {
return propId; 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) { 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: case CSSPropertyTransitionDelay:
propertyId = CSSPropertyWebkitTransitionDelay; return CSSPropertyWebkitTransitionDelay;
break;
case CSSPropertyTransitionDuration: case CSSPropertyTransitionDuration:
propertyId = CSSPropertyWebkitTransitionDuration; return CSSPropertyWebkitTransitionDuration;
break;
case CSSPropertyTransitionProperty: case CSSPropertyTransitionProperty:
propertyId = CSSPropertyWebkitTransitionProperty; return CSSPropertyWebkitTransitionProperty;
break;
case CSSPropertyTransitionTimingFunction: case CSSPropertyTransitionTimingFunction:
propertyId = CSSPropertyWebkitTransitionTimingFunction; return CSSPropertyWebkitTransitionTimingFunction;
break;
case CSSPropertyTransition: case CSSPropertyTransition:
propertyId = CSSPropertyWebkitTransition; return 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;
case CSSPropertyWebkitTransitionDelay: case CSSPropertyWebkitTransitionDelay:
propertyId = CSSPropertyTransitionDelay; return CSSPropertyTransitionDelay;
break;
case CSSPropertyWebkitTransitionDuration: case CSSPropertyWebkitTransitionDuration:
propertyId = CSSPropertyTransitionDuration; return CSSPropertyTransitionDuration;
break;
case CSSPropertyWebkitTransitionProperty: case CSSPropertyWebkitTransitionProperty:
propertyId = CSSPropertyTransitionProperty; return CSSPropertyTransitionProperty;
break;
case CSSPropertyWebkitTransitionTimingFunction: case CSSPropertyWebkitTransitionTimingFunction:
propertyId = CSSPropertyTransitionTimingFunction; return CSSPropertyTransitionTimingFunction;
break;
case CSSPropertyWebkitTransition: case CSSPropertyWebkitTransition:
propertyId = CSSPropertyTransition; return CSSPropertyTransition;
break;
default: default:
propertyId = propId; return propId;
break;
} }
ASSERT(propertyId != CSSPropertyInvalid);
return propertyId;
} }
} // namespace blink } // 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