<html>
<!--
Make sure prerendering doesn't load NaCl plugins when disabled.
-->
<head>
<title>Prerender NaCl Disabled</title>
</head>
<body>

<script>
var pluginLoadStarted = false;

function eventListener(event) {
  var targetElement = event.target;
  if (event.target.id != 'naclPlugin')
    return;
  pluginLoadStarted = true;
}

document.body.addEventListener('loadstart', eventListener, true);

function DidPrerenderPass() {
  return !pluginLoadStarted;
}

function DidDisplayPass() {
  return !pluginLoadStarted;
}
</script>

<embed id="naclPlugin" type="application/x-nacl" src="dummy.nmf"></embed>
</body>
</html>
