<!DOCTYPE html>
<html>
  <!--
  Copyright (c) 2011 The Chromium Authors. All rights reserved.
  Use of this source code is governed by a BSD-style license that can be
  found in the LICENSE file.
  -->
<head>
  <title>postMessage Example</title>
  <script>

  function HandleMessage(message_event) {
    if (message_event.data) {
      alert("The string was a palindrome.");
    } else {
      alert("The string was not a palindrome.");
    }
  }

  function AddListener() {
    var plugin = document.getElementById("plugin");
    plugin.addEventListener("message", HandleMessage, false);
  }
  document.addEventListener("DOMContentLoaded", AddListener, false);

  </script>
</head>

<body>
  <script>

  function SendString() {
    var plugin = document.getElementById("plugin");
    var inputBox = document.getElementById("inputBox");

    // Send the string to the plugin using postMessage.  This results in a call
    // to Instance::HandleMessage in C++ (or PPP_Messaging::HandleMessage in C).
    plugin.postMessage(inputBox.value);
  }

  </script>

  <input type="text" id="inputBox" name="inputBox" value="ablewasiereisawelba"/>
  <p>
  <button onclick="SendString()">Is Palindrome</button>
  <object id="plugin" type="application/x-ppapi-post-message-example"
          width="1" height="1"/>
  <hr>
</body>
</html>

