<html id='iframe-root'> <head> <style> div { width: 100px; height: 100px; border: 1px solid black; } #iframe-abs-div { position: absolute; background-color: red; left: 100px; } #iframe-fixed-div { position: fixed; background-color: blue; left: 200px; } </style> <script> if (window.testRunner) testRunner.dumpAsText(); function doTest() { var pre = document.getElementById('iframe-console'); var tosend = ''; if(!window.internals) return; var divs = ['iframe-div', 'iframe-abs-div', 'iframe-fixed-div', 'iframe-root']; for (var i = 0; i < divs.length; i++) { var div1 = document.getElementById(divs[i]); for (var j = 0; j < divs.length; j++) { var div2 = document.getElementById(divs[j]); var scrollsWithRespectTo = window.internals.scrollsWithRespectTo(div1, div2); var successText = scrollsWithRespectTo ? 'scrolls with respect to' : 'does not scroll with respect to'; var messageText = div1.id + ' ' + successText + ' ' + div2.id; tosend += messageText + '\n'; } } window.top.postMessage(tosend, '*'); } window.onload = doTest; </script> </head> <body> <div id='iframe-div' style='overflow:scroll'></div> <div id='iframe-abs-div'></div> <div id='iframe-fixed-div'></div> <div></div> <div></div> <div></div> <div></div> <pre id='iframe-console'></pre> </body> </html>