Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / dialog / top-layer-containing-block.html
blob7c3f5efd8dc439aaa844304ad22251f5d62472aa
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <style>
5 ::backdrop {
6 display: none;
8 </style>
9 </head>
10 <body>
11 <p>
12 This tests that a modal dialog's containing block is in the initial containing block and that it is unaffected by
13 ancestor elements with overflow or opacity.
14 <div style="position: absolute; top: 400px; opacity: 0.3">
15 <dialog id="opaqueDialog" style="position: absolute; top: 250px; left: 0px; background-color: magenta">
16 This dialog should be unaffected by its ancestor with opacity.
17 </dialog>
18 </div>
19 <div style="position: absolute; overflow: hidden; width: 500px; height: 150px; top: 400px; left: 300px">
20 <dialog id="unclippedDialog" style="position: absolute; top: 200px; left: 0px; height: 100px; background-color: cyan">
21 This dialog should be unaffected by its ancestor with overflow. It should not be clipped.
22 </dialog>
23 </div>
24 <div style="position: absolute; top: 1000px; left: 1000px; width: 20px;">
25 <dialog id="bottomDialog" style="position: absolute; top: 100px; height: 250px; width: 90%; background-color: yellow">
26 This dialog should be onscreen with a width of 90% of the page. It is the child of an narrow element
27 positioned off screen, but the containing block of a top layer element is the initial containing block, so its
28 position and percent lengths are relative to that.
29 </dialog>
30 </div>
31 <script>
32 document.getElementById('bottomDialog').showModal();
33 document.getElementById('unclippedDialog').showModal();
34 document.getElementById('opaqueDialog').showModal();
35 </script>
36 </body>
37 </html>