<!DOCTYPE html>
<!--
 | When a child is moved from one parent to another it should update
 | its inherited properties with the style of the new parent.
 -->
<html>
<head>
  <style>
    body {
      margin: 0px;
      font-family: Roboto;
      font-size: 18px;
    }
    #small-font {
      font-size: 20px;
      font-style: normal;
    }
    #large-font {
      font-size: 40px;
      font-style: italic;
    }
  </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);

      var new_parent = document.getElementById('large-font');
      new_parent.appendChild(child);

      if (window.testRunner) {
        window.testRunner.notifyDone();
      }
    }
  </script>
</head>
<body>
  <span id="small-font"><span id="child">TEST</span></span>
  <span id="large-font"></span>
</body>
</html>
