chromium/third_party/google-closure-library/closure/goog/demos/plaintextspellchecker.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!--
Copyright The Closure Library Authors. All Rights Reserved.

Use of this source code is governed by the Apache License, Version 2.0.
See the COPYING file for details.
-->
<head>
<title>Plain Text Spell Checker</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="../base.js"></script>
<script type="text/javascript">
  goog.require('goog.ui.PlainTextSpellChecker');
</script>
<style type="text/css">

.goog-spellcheck-invalidword {
  background: yellow;
}

.goog-spellcheck-correctedword {
  background: green;
}

textarea, .goog-spellcheck-correctionpane {
  font: menu;
  font-size: 0.8em;
  border: 1px solid black;
  padding: 2px;
  margin: 0px;
  overflow: auto;
  line-height: 1.25em;
}

.goog-menu {
  position: absolute;
  color: #000;
  border: 1px solid #B5B6B5;
  background-color: #F3F3F7;
  cursor: default;
  font: normal small arial, helvetica, sans-serif;
  width: 25ex;
  outline: 0;
}

.goog-menuitem {
  padding: 2px 5px;
  position: relative;
}

.goog-menuitem-highlight {
  background-color: #4279A5;
  color: #FFF;
}

.goog-menuitem-disabled {
  background-color: #F3F3F7;
  color: #999;
}

.goog-menu hr {
  background-color: #999;
  height: 1px;
  border: 0px;
  margin: 0px;
}
</style>
</head>
<body>
<h1>Plain Text Spell Checker</h1>
<p>
  The words "test", "words", "a", and "few" are set to be valid words,
  all others are considered spelling mistakes.
</p>
<p>
 The following keyboard shortcuts can be used to navigate inside the editor:
  <ul>
    <li>Previous misspelled word: ctrl + left-arrow</li>
    <li>next misspelled word: ctrl + right-arrow</li>
    <li>Open suggestions menu: down arrow</li>
  </ul>
</p>
<p>

  <textarea id="t0" style="width: 50ex; height: 15em;"></textarea>


</p>

<button onclick="s.check();">check</button>
<button onclick="s.resume();">resume</button>

<script type="text/javascript">

  function localSpellCheckingFunction(words, spellChecker, callback) {
    var len = words.length;
    var results = [];
    for (var i = 0; i < len; i++) {
      var word = words[i];
      if (word == 'test' || word == 'words' || word == 'a' || word == 'few') {
        results.push([word, goog.spell.SpellCheck.WordStatus.VALID]);
      } else {
        results.push([word, goog.spell.SpellCheck.WordStatus.INVALID,
            ['foo', 'bar', 'test']]);
      }
    }
    callback.call(spellChecker, results);
  }

  var handler = new goog.spell.SpellCheck(localSpellCheckingFunction);
  var s = new goog.ui.PlainTextSpellChecker(handler);
  s.markCorrected = true;
  s.decorate(document.getElementById('t0'));
</script>
</body>
</html>