haikuwebkit/LayoutTests/transitions/transition-unknown-property...

45 lines
873 B
HTML
Raw Permalink Normal View History

REGRESSION (Safari 10.1): When 'transition' contains -ms-transform, transform-origin is also transitioned https://bugs.webkit.org/show_bug.cgi?id=171250 <rdar://problem/31827243> Reviewed by Geoffrey Garen. Source/WebCore: We were mapping unknown properties to 'all' animation. With this patch we ignore them instead. The patch also implements roundtripping of unknown properties via CSSOM, matching Blink and Gecko. Test: transitions/transition-unknown-property-ignore.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::createTransitionPropertyValue): Return the correct name for unknown properties. * css/CSSToStyleMap.cpp: (WebCore::CSSToStyleMap::mapAnimationProperty): Map any unknown property to AnimateUnknownProperty mode instead of falling back to the default of AnimateAll. Save the unknown property name so we can roundtrip it properly. * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateTransitions): Ignore AnimateUnknownProperty like AnimateNone. * platform/animation/Animation.h: (WebCore::Animation::unknownProperty): (WebCore::Animation::setUnknownProperty): LayoutTests: * transitions/transition-unknown-property-ignore-expected.txt: Added. * transitions/transition-unknown-property-ignore.html: Added. * transitions/transitions-parsing-expected.txt: * transitions/transitions-parsing.html: Update the roundtrip expectations for unknown properties. The new results match Blink and Gecko. Canonical link: https://commits.webkit.org/188584@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-04 20:16:01 +00:00
<style type="text/css">
.container {
transition: -ms-transform 0.1s ease, transform 0.1s ease;
transform-origin: 100% 100%;
}
.container-transform {
transform: scale3d(1.3, 1.3, 1);
transform-origin: 0% 0%;
}
.box {
width: 100px;
height: 100px;
background-color: red;
}
</style>
<script type='text/javascript'>
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
function test() {
document.querySelector(".container").ontransitionend = (ev) => {
log.innerHTML += ev.propertyName +"<br>";
if (window.testRunner)
setTimeout(() => testRunner.notifyDone(), 0);
}
a.parentNode.classList.add('container-transform');
}
</script>
<body onload="test()">
<div class="container">
<div id="a" class="box">
</div>
</div>
<br><br>
Transitioning properties:
<div id=log></div>