<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
function debug(msg) {
  document.getElementById('debug').textContent = msg;
}
function setMessage(msg) {
  document.getElementById('message').textContent = msg;
}
function notifyDidFinishLoading() {
  if (plugin.didFinishLoading)
    plugin.didFinishLoading();
}
</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="notifyDidFinishLoading();">
<div i18n-values="title:name" id="outer">
<div id="inner">
<if expr="not is_android">
  <div><img id="plugin_icon" src="plugin_blocked.png"></div>
</if>
<if expr="is_android">
  <img id="plugin_icon" src="plugin_blocked_android.png">
</if>
<h1 id="message" i18n-content="message"></h1>
<p id="debug"> </p>
</div>
<div id="close" i18n-values="title:hide" onclick="plugin.hide();"></div>
</div>
</body>
</html>
