<!DOCTYPE HTML>
<script src="../../resources/ahem.js"></script>
<script>
  function highlightRange(id, start, end, active) {
    var range = document.createRange();
    var elem = document.getElementById(id).firstChild;
    range.setStart(elem, start);
    range.setEnd(elem, end);
    internals.addTextMatchMarker(range, active);
    internals.setMarkedTextMatchesAreHighlighted(document, true);
  }
  function highlightTest() {
    highlightRange('1', 2, 5, 'kActive');
  }
</script>

<body onload="highlightTest()">
Test for crbug.com/512354
<p>Find In Page: The below text "ndM" from findMe should be highlighted as orange and painted as black</p>
<span id="1" style="font-family: Ahem; font-size: 20px; color:#FF9632">findMe</span>
</body>
