| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| .set { |
| position: absolute; |
| top: 8px; |
| } |
| .box { |
| height: 100px; |
| width: 100px; |
| background-color: blue; |
| } |
| |
| .hidden { |
| visibility: hidden; |
| } |
| |
| .container.hidden { |
| outline: 4px solid red; |
| } |
| |
| .visible { |
| visibility: visible; |
| } |
| .should-be-hidden { |
| background-color: red !important; |
| } |
| .should-be-visible { |
| background-color: green !important; |
| } |
| .composited { |
| transform: translateZ(1px); |
| } |
| |
| .visible-indicator { |
| background-color: green; |
| } |
| |
| .hidden-indicator { |
| background-color: red; |
| } |
| </style> |
| <script> |
| if (window.testRunner) |
| testRunner.waitUntilDone(); |
| requestAnimationFrame(function() { |
| requestAnimationFrame(function() { |
| document.getElementById('target').classList.add('visible'); |
| setTimeout(function() { |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| }); |
| }); |
| }); |
| </script> |
| </head> |
| <body> |
| <!-- Tests that making a child of a composited layer visible causes that child to actually paint --> |
| <div class="set"> |
| <div class="hidden-indicator box"></div> |
| <div class="visible-indicator box"></div> |
| <div class="hidden-indicator box"></div> |
| </div> |
| |
| <div class="set"> |
| <div class="hidden container composited"> |
| <div class="visible box should-be-visible"></div> |
| </div> |
| |
| <div class="hidden container composited"> |
| <div class="box should-be-hidden"></div> |
| </div> |
| |
| <div class="hidden container composited"> |
| <div id="target" class="box should-be-visible"></div> |
| </div> |
| </div> |
| </body> |
| </html> |