<!DOCTYPE html>
<!--
 | An inline child does not get rendered after removing it from an inline box.
 -->
<html>
<head>
  <style>
    body {
      margin: 0px;
      font-family: Roboto;
      font-size: 18px;
    }
    .light-blue {
      background-color: #03a9f4;
    }
    .dark-sea-green {
      background-color: #8FBC8F;
    }
  </style>
  <script>
    if (window.testRunner) {
      window.testRunner.waitUntilDone();
    }

    window.onload = function() {
      if (window.testRunner) {
        window.testRunner.DoNonMeasuredLayout();
      }

      var child = document.getElementById('child');
      child.parentNode.removeChild(child);

      if (window.testRunner) {
        window.testRunner.notifyDone();
      }
    }
  </script>
</head>
<body>
  <span class="light-blue">X<span id="child">Y</span></span><span>Z</span>
</body>
</html>
