<!DOCTYPE html>
<style>
    .test { 
        -webkit-transition: height 1s; 
    }
    .test:nth-child(2n) { 
        height: calc(45em - 81%);
    }
</style>

This tests transitioning of elements containing a calc expression. The test passes if it does not crash.

<script>
    if (window.testRunner) {
        testRunner.dumpAsText();        
        testRunner.waitUntilDone(); 
    }

    elementBr = document.createElement('br');
    document.documentElement.appendChild(elementBr);
    elementAbbr = document.createElement('abbr');
    document.documentElement.appendChild(elementAbbr);
    elementColGroup = document.createElement('colgroup');
    document.documentElement.appendChild(elementColGroup);
    elementOptGroup = document.createElement('optgroup');
    elementIframe = document.createElement('iframe');
    elementIframe.setAttribute('class', 'test');
    document.documentElement.appendChild(elementIframe);
    
    function boom() {
        elementOptGroup.appendChild(elementBr);
        if (window.testRunner) 
            testRunner.notifyDone();
    }
    
    setTimeout(boom, 1);
</script>
