<html><head><title>
<body>
<script type="text/javascript">
function deletePlugin() {
  // Remove the plugin.
  document.getElementById('foo').removeChild(document.getElementById('plugin'));

  // Forces a style recalculation which actually will delete the plugin.
  // Without this, the plugin would be deleted later from a timer. If the test
  // fails, this line will cause the crash.
  var foo = document.getElementById('foo').offsetWidth;

  // If we get here, there's no crash so we succeeded.
  document.cookie = "COMPLETION_COOKIE=PASS; path=/";
}
</script>
  This test tests deleting a the &lt;object&gt; synchronously from within a
  script call. Neither the proxy nor the PPAPI implementation should crash in
  this case.
  <div id="foo">
    <object id="plugin" type="application/x-ppapi-tests" width="400" height="400" style="border:5px solid blue;">
      <param name="customtest" value="delete_plugin">
    </object>
  </div>
</body>
