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;
CSSPropertyID propertyId = CSSPropertyInvalid;
switch (propId) { switch (propId) {
case CSSPropertyAnimation: case CSSPropertyAnimation:
propertyId = CSSPropertyWebkitAnimation; return CSSPropertyWebkitAnimation;
break;
case CSSPropertyAnimationDelay: case CSSPropertyAnimationDelay:
propertyId = CSSPropertyWebkitAnimationDelay; return CSSPropertyWebkitAnimationDelay;
break;
case CSSPropertyAnimationDirection: case CSSPropertyAnimationDirection:
propertyId = CSSPropertyWebkitAnimationDirection; return CSSPropertyWebkitAnimationDirection;
break;
case CSSPropertyAnimationDuration: case CSSPropertyAnimationDuration:
propertyId = CSSPropertyWebkitAnimationDuration; return CSSPropertyWebkitAnimationDuration;
break;
case CSSPropertyAnimationFillMode: case CSSPropertyAnimationFillMode:
propertyId = CSSPropertyWebkitAnimationFillMode; return CSSPropertyWebkitAnimationFillMode;
break;
case CSSPropertyAnimationIterationCount: case CSSPropertyAnimationIterationCount:
propertyId = CSSPropertyWebkitAnimationIterationCount; return CSSPropertyWebkitAnimationIterationCount;
break;
case CSSPropertyAnimationName: case CSSPropertyAnimationName:
propertyId = CSSPropertyWebkitAnimationName; return CSSPropertyWebkitAnimationName;
break;
case CSSPropertyAnimationPlayState: case CSSPropertyAnimationPlayState:
propertyId = CSSPropertyWebkitAnimationPlayState; return CSSPropertyWebkitAnimationPlayState;
break;
case CSSPropertyAnimationTimingFunction: case CSSPropertyAnimationTimingFunction:
propertyId = CSSPropertyWebkitAnimationTimingFunction; return CSSPropertyWebkitAnimationTimingFunction;
break;
case CSSPropertyTransitionDelay:
propertyId = CSSPropertyWebkitTransitionDelay;
break;
case CSSPropertyTransitionDuration:
propertyId = CSSPropertyWebkitTransitionDuration;
break;
case CSSPropertyTransitionProperty:
propertyId = CSSPropertyWebkitTransitionProperty;
break;
case CSSPropertyTransitionTimingFunction:
propertyId = CSSPropertyWebkitTransitionTimingFunction;
break;
case CSSPropertyTransition:
propertyId = CSSPropertyWebkitTransition;
break;
case CSSPropertyWebkitAnimation: case CSSPropertyWebkitAnimation:
propertyId = CSSPropertyAnimation; return CSSPropertyAnimation;
break;
case CSSPropertyWebkitAnimationDelay: case CSSPropertyWebkitAnimationDelay:
propertyId = CSSPropertyAnimationDelay; return CSSPropertyAnimationDelay;
break;
case CSSPropertyWebkitAnimationDirection: case CSSPropertyWebkitAnimationDirection:
propertyId = CSSPropertyAnimationDirection; return CSSPropertyAnimationDirection;
break;
case CSSPropertyWebkitAnimationDuration: case CSSPropertyWebkitAnimationDuration:
propertyId = CSSPropertyAnimationDuration; return CSSPropertyAnimationDuration;
break;
case CSSPropertyWebkitAnimationFillMode: case CSSPropertyWebkitAnimationFillMode:
propertyId = CSSPropertyAnimationFillMode; return CSSPropertyAnimationFillMode;
break;
case CSSPropertyWebkitAnimationIterationCount: case CSSPropertyWebkitAnimationIterationCount:
propertyId = CSSPropertyAnimationIterationCount; return CSSPropertyAnimationIterationCount;
break;
case CSSPropertyWebkitAnimationName: case CSSPropertyWebkitAnimationName:
propertyId = CSSPropertyAnimationName; return CSSPropertyAnimationName;
break;
case CSSPropertyWebkitAnimationPlayState: case CSSPropertyWebkitAnimationPlayState:
propertyId = CSSPropertyAnimationPlayState; return CSSPropertyAnimationPlayState;
break;
case CSSPropertyWebkitAnimationTimingFunction: case CSSPropertyWebkitAnimationTimingFunction:
propertyId = CSSPropertyAnimationTimingFunction; return CSSPropertyAnimationTimingFunction;
default:
break; break;
}
}
switch (propId) {
case CSSPropertyTransitionDelay:
return CSSPropertyWebkitTransitionDelay;
case CSSPropertyTransitionDuration:
return CSSPropertyWebkitTransitionDuration;
case CSSPropertyTransitionProperty:
return CSSPropertyWebkitTransitionProperty;
case CSSPropertyTransitionTimingFunction:
return CSSPropertyWebkitTransitionTimingFunction;
case CSSPropertyTransition:
return CSSPropertyWebkitTransition;
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