<html>
<body>
<p>
Test that window.onerror won't reveal any potentially sensitive script content if the latter is loaded from a different domain. The test passes if you don't see any data from the linked resource. <a href="https://bugs.webkit.org/show_bug.cgi?id=52903">Bug 52903.</a>
</p>

</p>
<div id="result"></div>
<script>
if (window.testRunner) {
  testRunner.waitUntilDone();
  testRunner.dumpAsText();
}

window.onerror = function(message, url, line) {
  document.getElementById("result").textContent = "window.onerror message: " + message + " at " + url + ": " + line;
  if (window.testRunner)
    testRunner.notifyDone();
  return true;
}
</script>
<script src="http://localhost:8000/security/resources/cross-origin-script.txt">
</script>
</body>
</html>
