chromium/third_party/blink/web_tests/compositing/iframes/connect-compositing-iframe-delayed.html

<!DOCTYPE html>

<html>
<head>
  <script src="../../resources/run-after-layout-and-paint.js"></script>
  <style type="text/css" media="screen">
    iframe {
        border: 10px solid black;
        padding: 5px;
        margin: 20px;
        height: 150px;
        width: 300px;
        -webkit-box-shadow: 0 0 20px black;
    }
    
    #box {
      height: 100px;
      width: 100px;
      background-color: blue;
    }
    
    .composited {
      will-change: transform;
    }
    
  </style>
  <script type="text/javascript" charset="utf-8">
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

    function doTest()
    {
        runAfterLayoutAndPaint(function() {
            document.getElementById('box').className = 'composited';
            if (window.testRunner) {
              document.getElementById('iframe').contentDocument.body.offsetWidth; // update iframe layout
              document.getElementById('layers').innerText = internals.layerTreeAsText(document);
              testRunner.notifyDone();
            }
        });
    }
    
    window.addEventListener('load', doTest, false);
  </script>
</head>
<body>

    <div id="box"></div>

    <!-- Test with already-composited iframe contents, and iframe itself composited. -->
    <iframe id="iframe" src="resources/composited-subframe.html"></iframe>
    
    <p>When the parent document becomes composited, the layer trees should get connected together.</p>
    <pre id="layers">Layer tree appears here in DRT.</pre>
</body>
</html>