| <!doctype html> |
| <meta charset="utf8"> |
| <title>CSS Content Visibility: onscreen c-v auto content is relevant when in top layer</title> |
| <link rel="author" title="Cathie Chen" href="mailto:[email protected]"> |
| <link rel="help" href="https://drafts.csswg.org/css-contain/#content-visibility"> |
| <meta name="assert" content="onscreen c-v auto content is relevant when in top layer"> |
| |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/common/rendering-utils.js"></script> |
| |
| <style> |
| #inner { |
| content-visibility: auto; |
| contain-intrinsic-size: 100px 100px; |
| } |
| </style> |
| |
| <dialog id="dialog"> |
| <div id="inner"> |
| <div style="height: 200px; width: 200px;">content</div> |
| </div> |
| <div id="spacer" style="height: 100000px;"></div> |
| </dialog> |
| |
| <script> |
| promise_test(async () => { |
| dialog.show(); |
| // It takes at least one frame to determine the proximity to the viewport. |
| await waitForAtLeastOneFrame(); |
| assert_equals(inner.getBoundingClientRect().height, 200); |
| |
| dialog.close(); |
| dialog.showModal(); |
| |
| // It takes at least one frame to determine the proximity to the viewport. |
| await waitForAtLeastOneFrame(); |
| assert_equals(inner.getBoundingClientRect().height, 200); |
| dialog.close(); |
| }); |
| </script> |