<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no">
<script>
function debug(msg) {
  document.getElementById('debug').textContent = msg;
}

function insertLink() {
  // Replace the chrome://plugins text with a working link (i18n_template
  // doesn't allow raw HTML in template data).
  var link = document.getElementById("enable_link");
  var link_html = link.innerHTML;
  link.parentNode.removeChild(link);
  var message = document.getElementById("message");
  var message_html = message.innerHTML;
  message.innerHTML = message_html.replace('chrome://plugins', link_html);
}
</script>
<link rel="stylesheet" href="plugin_placeholders.css"></link>
<style>
body {
  background-color: rgb(187, 187, 187);
}

#plugin_icon {
  opacity: .6;
}
</style>
</head>

<body id="t" onLoad="insertLink()">
<div i18n-values="title:name" id="outer">
<div id="inner">
<div><img id="plugin_icon" src="plugin_blocked.png" /></div>
<h1 id="message" i18n-content="message">PLUGIN DISABLED (chrome://plugins)</h1>
<div id="enable_link"><a href="#" onclick="plugin.openAboutPlugins();">chrome://plugins</a></div>
<p id="debug"> </p>
</div>
<div id="close" i18n-values="title:hide" onclick="plugin.hide();" />
</div>
</body>
</html>
