<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>

<!-- Firefox tabbrowser -->
<?xml-stylesheet href="chrome://browser/content/browser.css"
                 type="text/css"?>
<!-- SeaMonkey tabbrowser -->
<?xml-stylesheet href="chrome://navigator/content/navigator.css"
                 type="text/css"?>

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

<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

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

  <script type="application/javascript"
          src="chrome://mochitests/content/a11y/accessible/treeview.js" />

  <script type="application/javascript"
          src="../common.js" />
  <script type="application/javascript"
          src="../events.js" />

  <script type="application/javascript"
          src="chrome://mochikit/content/chrome-harness.js"/>

  <script type="application/javascript">
  <![CDATA[

    ////////////////////////////////////////////////////////////////////////////
    // Hack to make xul:tabbrowser work

    const Ci = Components.interfaces;

    Components.utils.import("resource://gre/modules/Services.jsm");

    var handleDroppedLink = null;

    var XULBrowserWindow = {
      isBusy: false,
      setOverLink: function (link, b) {
      }
    };

    ////////////////////////////////////////////////////////////////////////////
    // Tests

    var gScrollHandler = {
      handleEvent: function gScrollHandler_handleEvent(aEvent) {
        if (aEvent.DOMNode.getAttribute("name") == "link1") {
          unregisterA11yEventListener(EVENT_SCROLLING_START, this);
          SimpleTest.finish();
        }
      }
    };

    function doTest()
    {
      registerA11yEventListener(EVENT_SCROLLING_START, gScrollHandler);

      var rootDir = getRootDirectory(window.location.href);

      /*
       * When tests are packed in a .jar, we need to extract them so we 
       * can access the specific url with a file:// protocol which appears
       * to be required by loadURI() (at least a file without an embedded .jar)
       */
      var jar = getJar(rootDir);
      if (jar) {
        var tmpdir = extractJarToTmp(jar);
        rootDir = "file://" + tmpdir.path + '/';
      }

      var url = rootDir + "scroll.html#link1";
      var tabBrowser = document.getElementById("tabBrowser");
      tabBrowser.loadURI(url);
    }

    SimpleTest.waitForExplicitFinish();
    addA11yLoadEvent(doTest);
  ]]>
  </script>

  <hbox flex="1" style="overflow: auto;">
    <body xmlns="http://www.w3.org/1999/xhtml">
      <a target="_blank"
         href="https://bugzilla.mozilla.org/show_bug.cgi?id=437607"
         title="Clicking the 'Skip to main content' link once works, second time fails to initiate a V cursor jump">
        Mozilla Bug 437607
      </a><br/>
      <a target="_blank"
         href="https://bugzilla.mozilla.org/show_bug.cgi?id=519303"
         title="Same page links to targets with content fires scrolling start accessible event on leaf text node">
        Mozilla Bug 519303
      </a>

      <p id="display"></p>
      <div id="content" style="display: none">
      </div>
      <pre id="test">
      </pre>
    </body>

    <vbox flex="1">
      <!-- Hack to make xul:tabbrowser work -->
      <menubar>
        <menu label="menu">
          <menupopup>
            <menuitem label="close window hook" id="menu_closeWindow"/>
            <menuitem label="close hook" id="menu_close"/>
          </menupopup>
        </menu>
      </menubar>

      <tabs id="tabbrowser-tabs" class="tabbrowser-tabs"
            tabbrowser="tabBrowser"
            flex="1"
            setfocus="false">
        <tab class="tabbrowser-tab" selected="true"/>
      </tabs>
      <tabbrowser id="tabBrowser"
                  type="content-primary"
                  tabcontainer="tabbrowser-tabs"
                  flex="1"/>
    </vbox>
  </hbox>

</window>
