<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> 
<?xml-stylesheet
  href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>

<window title="View Source Test (bug 428653)"
        xmlns:html="http://www.w3.org/1999/xhtml"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <script type="application/javascript"
   src="chrome://mochikit/content/MochiKit/packed.js"></script>
  <script type="application/javascript"
   src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
   
  <html:body/>

  <browser id="content" type="content-primary" name="content" src="about:blank" flex="1"
           disablehistory="true" context="viewSourceContextMenu"/>

  <script type="application/javascript">
  <![CDATA[
  /*
  Test that we can't call the content browser's document.open() either via
  wrappedJSObject (SafeJSObjectWrapper) or not.
  */
  SimpleTest.waitForExplicitFinish();
  
  addLoadEvent(function testDocumentOpen() {
    var browser = document.getElementById("content");
    ok(browser, "got browser");
    var doc = browser.contentDocument;
    ok(doc, "got content document");

    var opened = false;
    try {
      doc.open("text/html", "replace");
      opened = true;
    } catch (e) {
      is(e.name, "NS_ERROR_DOM_SECURITY_ERR", "Unxpected exception")
    }
    is(opened, false, "Shouldn't have opened document");

    try {
      doc.wrappedJSObject.open("text/html", "replace");
      opened = true;
    } catch (e) {
      is(e.name, "NS_ERROR_DOM_SECURITY_ERR",
         "Unxpected exception via wrappedJSObject")
    }
    is(opened, false, "Shouldn't have opened document via wrappedJSObject");

    SimpleTest.finish();
  });
  ]]>
  </script>
</window>
