<!DOCTYPE html>

<html>
<head>
  <style>
    .set {
      display: inline-block;
      border: 1px solid black;
    }
    .box {
      height: 100px;
      width: 100px;
    }
    
    .hidden {
      visibility: hidden;
    }
    
    .container {
      margin: 10px;
      padding: 20px;
    }
    .container.hidden {
      outline: 4px solid red;
    }
    
    .visible {
      visibility: visible;
    }
    .should-be-hidden {
      background-color: red !important;
    }
    .should-be-visible {
      background-color: green !important;
    }
    .composited {
      -webkit-transform: translateZ(1px);
    }
    
    .visible-indicator {
      background-color: green;
    }

    .hidden-indicator {
      background-color: red;
    }
  </style>
  <script>
    if (window.testRunner)
      testRunner.dumpAsText(true);
  </script>
</head>
<body>
  <!-- Tests visibility with directly composited images. -->
  <!-- Left and right sides should look the same -->
  <div class="set">
    <div class="container"><img src="../resources/thiswayup.png" class="hidden box"></div>
    <div class="hidden container"><img src="../resources/thiswayup.png" class="box"></div>
    <div class="hidden container"><img src="../resources/thiswayup.png" class="visible box"></div>
  </div>

  <div class="set">
    <div class="composited container"><img src="../resources/thiswayup.png" class="hidden composited box"></div>
    <div class="composited hidden container"><img src="../resources/thiswayup.png" class="composited box"></div>
    <div class="composited hidden container"><img src="../resources/thiswayup.png" class="visible composited box"></div>
  </div>
</body>
</html>
