<html>
<body>
  <p>Test for <a href="https://code.google.com/p/chromium/issues/detail?id=362607">https://code.google.com/p/chromium/issues/detail?id=362607</a>.</p> Makes sure that the placeholder text is hidden by a suggested value.

  <input placeholder="placeholder text"></input>
  <textarea placeholder="placeholder text"></textarea>

  <script type="text/javascript" charset="utf-8">
      if (!window.internals) {
          testFailed('This test requires internals object');
      } else {
          internals.setSuggestedValue(document.querySelector('input'), 'suggest');
          internals.setSuggestedValue(document.querySelector('textarea'), 'suggest');
      }
  </script>
</body>
</html>
