widget/tests/window_bug522217.xul
author Mike Hommey <mh+mozilla@glandium.org>
Fri, 11 Jan 2019 16:01:15 +0000
changeset 453570 daf50f25895db073e44d50fecf2e4f6fe873865d
parent 61932 51f36c6a7d38cf27d2a64078832bef4b7b507fcb
child 469642 0d9b9b96f5475adbed73922da696aeff7cbbaed3
permissions -rw-r--r--
Bug 1519307 - Add a new project to build useful parts of breakpad independently. r=froydnj With `ac_add_options --enable-project=tools/crashreporter` in a mozconfig, `./mach build` builds minidump_stackwalk, dump_syms and fileid. One caveat is that due to limitation in how the build system works currently, it's cumbersome to keep dump_syms as a host program for Gecko, and to make it a target program for this project. For now, keep it as a host program. We're not going to use it on automation, but it's still convenient to have for quick local builds (I've had to resort to awful hacks downstream). Differential Revision: https://phabricator.services.mozilla.com/D16299

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<window title="Mozilla Bug 522217"
  onload="start();"
  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

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

<body xmlns="http://www.w3.org/1999/xhtml" id="body">
</body>

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

function ok(aCondition, aMessage)
{
  window.opener.wrappedJSObject.SimpleTest.ok(aCondition, aMessage);
}

function is(aLeft, aRight, aMessage)
{
  window.opener.wrappedJSObject.SimpleTest.is(aLeft, aRight, aMessage);
}

function isnot(aLeft, aRight, aMessage)
{
  window.opener.wrappedJSObject.SimpleTest.isnot(aLeft, aRight, aMessage);
}

function executeSoon(aFct)
{
  window.opener.wrappedJSObject.SimpleTest.executeSoon(aFct);
}

function start() {
  window.onfocus = function () {
    window.onfocus = null;
    var oldOuterWidth = window.outerWidth, oldOuterHeight = window.outerHeight;
    var oldInnerWidth = window.innerWidth, oldInnerHeight = window.innerHeight;
    document.documentElement.setAttribute("drawintitlebar", "true");

    executeSoon(function() {
      is(window.outerWidth, oldOuterWidth, "drawintitlebar shouldn't change the window's outerWidth");
      is(window.outerHeight, oldOuterHeight, "drawintitlebar shouldn't change the window's outerHeight");
      is(window.innerWidth, oldOuterWidth, "if drawintitlebar is set, innerWidth and outerWidth should be the same");
      is(window.innerHeight, oldOuterHeight, "if drawintitlebar is set, innerHeight and outerHeight should be the same");
      window.fullScreen = true;
      window.fullScreen = false;
      is(window.outerWidth, oldOuterWidth, "wrong outerWidth after fullscreen mode");
      is(window.outerHeight, oldOuterHeight, "wrong outerHeight after fullscreen mode");
      is(window.innerWidth, oldOuterWidth, "wrong innerWidth after fullscreen mode");
      is(window.innerHeight, oldOuterHeight, "wrong innerHeight after fullscreen mode");
      document.documentElement.removeAttribute("drawintitlebar");

      executeSoon(function() {
        is(window.outerWidth, oldOuterWidth, "wrong outerWidth after removing drawintitlebar");
        is(window.outerHeight, oldOuterHeight, "wrong outerHeight after removing drawintitlebar");
        is(window.innerWidth, oldInnerWidth, "wrong innerWidth after removing drawintitlebar");
        is(window.innerHeight, oldInnerHeight, "wrong innerHeight after removing drawintitlebar");
        window.opener.wrappedJSObject.SimpleTest.finish();
        window.close();
      });
    });
  }
}


]]>
</script>

</window>