chromium/third_party/blink/web_tests/fast/frames/frame-focus-send-blur.html

<!DOCTYPE html>
<html>
<body>
<script src="../../resources/js-test.js"></script>
<iframe id="frame1" srcdoc="<input id='input'>" ></iframe>
<iframe id="frame2" srcdoc="<div>This is a iframe element</div>"></iframe>
<script>
description('Make sure that moving focus on an inactive frame fires blur event on existing element focus.');
var doc;
var input;
window.onload = function()
{
    var frame1 = document.getElementById('frame1');
    var frame2 = document.getElementById('frame2');
    
    doc = frame1.contentDocument;
    input = doc.querySelector('input');
    input.onblur = function() {
        testPassed('A blur event was dispatched on frame1 input element.');
    }
    input.onfocus = function() {
        testPassed('A focus event was dispatched on frame1 input element.');
    }
    input.focus();
    
    debug('===> Making a first frame with a focused element inactive by focus() for second frame.');    
    frame2.contentWindow.focus();
    shouldBe('frame1.contentDocument.activeElement', 'doc.body');
    debug('===> Making the first frame active again by focus() for first frame.');  
    frame1.contentWindow.focus();
    shouldBe('frame1.contentDocument.activeElement', 'doc.body');
}
</script>
</body>
</html>