| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="resources/frame-programmatic-resize.js"></script> |
| <script> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.dumpChildFramesAsText(); |
| } |
| |
| window.onload = runTests; |
| |
| function runTests() |
| { |
| if (!window.eventSender) |
| return; // Cannot run this test without DRT. |
| |
| description("This tests that frame resizing is allowed and disallowed when programmatically removing and adding the noresize attribute, respectively."); |
| setTestFrameById("testFrame"); |
| |
| log("Test disallow frame resize via noResize IDL attribute:"); |
| shouldDisallowFrameResizeAfterProcessingFrame(function(frame) { frame.noResize = true }); |
| |
| log("\nTest allow frame resize when noResize IDL attribute has value undefined:"); |
| shouldAllowFrameResizeAfterProcessingFrame(function(frame) { frame.noResize = undefined }); |
| |
| log("\nTest allow frame resize when noResize IDL attribute has value null:"); |
| shouldAllowFrameResizeAfterProcessingFrame(function(frame) { frame.noResize = null }); |
| |
| log("\nTest disallow frame resize via noresize content attribute:"); |
| // Note, noresize is a boolean attribute. That is, its presence indicates true regardless of its value. |
| shouldDisallowFrameResizeAfterProcessingFrame(function(frame) { frame.setAttribute("noresize", "true") }); |
| shouldDisallowFrameResizeAfterProcessingFrame(function(frame) { frame.setAttribute("noresize", "false") }); |
| shouldDisallowFrameResizeAfterProcessingFrame(function(frame) { frame.setAttribute("noresize", "dummy") }); |
| shouldDisallowFrameResizeAfterProcessingFrame(function(frame) { frame.setAttribute("noresize", String()) }); |
| |
| log("\nTest disallow then allow frame resize via noResize IDL attribute (i.e. increase frame width by " + deltaWidth() + " pixels):"); |
| shouldDisallowFrameResizeAfterProcessingFrame(function(frame) { frame.noResize = true }); |
| shouldAllowFrameResizeAfterProcessingFrame(function(frame) { frame.noResize = false }); |
| |
| log("\nTest disallow then allow frame resize via noresize content attribute (i.e. increase frame width by " + deltaWidth() + " pixels):"); |
| shouldDisallowFrameResizeAfterProcessingFrame(function(frame) { frame.setAttribute("noresize", "true") }); |
| shouldAllowFrameResizeAfterProcessingFrame(function(frame) { frame.removeAttribute("noresize") }); |
| } |
| </script> |
| </head> |
| <frameset cols="200,*" border="10"> |
| <frame id="testFrame" name="testFrame" src="about:blank"> |
| <frame id="results" name="results" src="data:text/html,<p id='description'>This test can only be run using DRT.</p><pre id='console'></pre>"> |
| </frameset> |
| </html> |