| <!doctype html> | |
| <script src="../js/resources/js-test-pre.js"></script> | |
| <iframe | |
| data-test="missing frameborder attribute should inherit it" | |
| data-assert-frame-width="150"> | |
| <!doctype html> | |
| <frameset rows="*" cols="*" frameborder="0"> | |
| <frameset rows="*" cols="50,50"> | |
| <frame src="data:text/html,<body bgcolor=red>"> | |
| <frame src="data:text/html,<body bgcolor=blue>"> | |
| </frameset> | |
| </frameset> | |
| </iframe> | |
| <iframe | |
| data-test="inherited frameborder=no should inherit border=0" | |
| data-assert-frame-width="150"> | |
| <!doctype html> | |
| <frameset rows="*" cols="*" frameborder="0"> | |
| <frameset rows="*" cols="50,50" frameborder="1"> | |
| <frame src="data:text/html,<body bgcolor=green>"> | |
| <frame src="data:text/html,<body bgcolor=yellow>"> | |
| </frameset> | |
| </frameset> | |
| </iframe> | |
| <iframe | |
| data-test="frameborder=yes and border should override inherited value" | |
| data-assert-frame-width="145"> | |
| <!doctype html> | |
| <frameset rows="*" cols="*" frameborder="0"> | |
| <frameset rows="*" cols="50,50" frameborder="1" border="10"> | |
| <frame src="data:text/html,<body bgcolor=orange>"> | |
| <frame src="data:text/html,<body bgcolor=pink>"> | |
| </frameset> | |
| </frameset> | |
| </iframe> | |
| <iframe | |
| data-test="inherited frameborder=0 should have border=0 even if specified differently" | |
| data-assert-frame-width="150"> | |
| <!doctype html> | |
| <frameset rows="*" cols="*" frameborder="0" border="10"> | |
| <!-- | |
| This inherits frameborder="0" so the border="20" should be ignored | |
| and children of it should inherit border="0". | |
| --> | |
| <frameset rows="*" cols="*" border="20"> | |
| <frameset rows="*" cols="50,50" frameborder="1"> | |
| <frame src="data:text/html,<body bgcolor=green>"> | |
| <frame src="data:text/html,<body bgcolor=yellow>"> | |
| </frameset> | |
| </frameset> | |
| </frameset> | |
| </iframe> | |
| <iframe | |
| data-test="bordercolor should inherit even if frameborder=0" | |
| data-assert-frame-width="145" | |
| data-assert-border-color="rgb(0, 128, 0)"> | |
| <!doctype html> | |
| <frameset rows="*" cols="*" frameborder="0" bordercolor="green"> | |
| <frameset rows="*" cols="*" frameborder="1"> | |
| <frameset rows="*" cols="50,50" border="10"> | |
| <frame src="data:text/html,<body bgcolor=red>"> | |
| <frame src="data:text/html,<body bgcolor=blue>"> | |
| </frameset> | |
| </frameset> | |
| </frameset> | |
| </iframe> | |
| <script> | |
| description('Check frameset frameborder and border attribute inheritance'); | |
| iframes = [].slice.call(document.querySelectorAll('iframe')); | |
| iframes.forEach(function(iframe) { | |
| // Can't use srcdoc since that wouldn't synchronously load the content. | |
| iframe.contentDocument.write(iframe.textContent); | |
| iframe.contentDocument.close(); | |
| frameset = iframe.contentDocument.querySelector('frameset'); | |
| expectedWidth = iframe.dataset.assertFrameWidth; | |
| expectedBorderColor = iframe.dataset.assertBorderColor; | |
| frames = frameset.querySelectorAll('frame'); | |
| debug(iframe.dataset.test); | |
| shouldBe('frames[0].offsetWidth', expectedWidth); | |
| shouldBe('frames[1].offsetWidth', expectedWidth); | |
| if (expectedBorderColor) { | |
| // This check won't work in Gecko since they don't expose the border color properly. | |
| frameset = frames[0].parentNode; | |
| shouldBeEqualToString('getComputedStyle(frameset).borderColor', expectedBorderColor); | |
| } | |
| debug('<br>'); | |
| }); | |
| </script> | |
| <script src="../js/resources/js-test-post.js"></script> |