| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <script> |
| window.jsTestIsAsync = true; |
| |
| function checkForScroll() |
| { |
| // The first-level iframe should have scrolled. |
| let testFrame = document.getElementById('target'); |
| var frameScrollPosition = testFrame.contentDocument.scrollingElement.scrollTop; |
| |
| if (!frameScrollPosition) |
| testFailed("Outer frame did not scroll."); |
| else |
| testPassed("Outer frame scrolled."); |
| |
| finishJSTest(); |
| } |
| |
| function scrollTest() |
| { |
| // Send a scroll while over the inner iframe. |
| var startPosX = 150; |
| var startPosY = 150; |
| eventSender.monitorWheelEvents(); |
| eventSender.mouseMoveTo(startPosX, startPosY); |
| eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); |
| eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); |
| eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); |
| eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); |
| eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); |
| eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); |
| eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); |
| eventSender.callAfterScrollingCompletes(checkForScroll); |
| } |
| |
| function setupTopLevel() |
| { |
| if (window.eventSender) { |
| testRunner.dumpAsText(); |
| setTimeout(scrollTest, 0); |
| } |
| |
| setTimeout(checkForScroll, 1000); |
| } |
| </script> |
| <iframe id="target" scrolling="yes" style="height: 400px; width: 500px;" |
| srcdoc= " |
| <style>body { height: 1000px; }</style> |
| <p>This frame is scrollable.</p> |
| |
| <iframe scrolling='no' height=200 width=350 srcdoc=' |
| <style>body { height: 1000px; }</style> |
| <p>This frame is not scrollable.</p> |
| '> |
| " |
| onload="setupTopLevel();" |
| > |
| </iframe> |
| <div id="console"></div> |
| <script> |
| description("Tests that an inner frame with scrolling=no doesn't prevent scrolling a parent frame"); |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |