| <!DOCTYPE html> |
| <title>User-agent levels style sheet defaults for iframe</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| <script src="../trusted-click.js"></script> |
| <style> |
| iframe { |
| border: 1px solid blue; |
| padding: 1px; |
| /* transform is also tested because of https://crbug.com/662393 */ |
| transform: scale(0.5); |
| } |
| </style> |
| <div id="log"></div> |
| <div id="ancestor"><iframe></iframe></div> |
| <script> |
| function assert_dir_properties(style, propBase, value, state) { |
| for (let dir of ["Top", "Right", "Bottom", "Left"]) { |
| let prop = propBase.replace("{}", dir); |
| assert_equals(style[prop], value, `${state} ${prop} style`); |
| } |
| } |
| |
| promise_test(async (t) => { |
| t.add_cleanup(() => { |
| if (document.fullscreenElement) { |
| return document.exitFullscreen(); |
| } |
| }); |
| const ancestor = document.getElementById("ancestor"); |
| const iframe = ancestor.firstChild; |
| |
| const initialStyle = getComputedStyle(iframe); |
| assert_dir_properties(initialStyle, "border{}Width", "1px", "initial"); |
| assert_dir_properties(initialStyle, "border{}Style", "solid", "initial"); |
| assert_dir_properties( |
| initialStyle, |
| "border{}Color", |
| "rgb(0, 0, 255)", |
| "initial" |
| ); |
| assert_dir_properties(initialStyle, "padding{}", "1px", "initial"); |
| assert_equals( |
| initialStyle.transform, |
| "matrix(0.5, 0, 0, 0.5, 0, 0)", |
| "initial transform style" |
| ); |
| |
| await trusted_request(iframe); |
| await fullScreenChange(); |
| |
| const fullscreenStyle = getComputedStyle(iframe); |
| assert_dir_properties( |
| fullscreenStyle, |
| "border{}Width", |
| "0px", |
| "fullscreen" |
| ); |
| assert_dir_properties( |
| fullscreenStyle, |
| "border{}Style", |
| "none", |
| "fullscreen" |
| ); |
| assert_dir_properties( |
| fullscreenStyle, |
| "border{}Color", |
| "rgb(0, 0, 0)", |
| "fullscreen" |
| ); |
| assert_dir_properties(fullscreenStyle, "padding{}", "0px", "fullscreen"); |
| assert_equals( |
| fullscreenStyle.transform, |
| "none", |
| "fullscreen transform style" |
| ); |
| }); |
| </script> |