dom/ipc/tests/process_error.xul

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/dom/ipc/tests/process_error.xul	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,58 @@
     1.4 +<?xml version="1.0"?>
     1.5 +<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
     1.6 +
     1.7 +<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
     1.8 +	orient="vertical">
     1.9 +
    1.10 +  <browser id="thebrowser" type="content" remote="true" />
    1.11 +  <script type="application/javascript"><![CDATA[
    1.12 +    Components.utils.import("resource://gre/modules/Services.jsm");
    1.13 +
    1.14 +    const ok = window.opener.wrappedJSObject.ok;
    1.15 +    const is = window.opener.wrappedJSObject.is;
    1.16 +    const done = window.opener.wrappedJSObject.done;
    1.17 +    const SimpleTest = window.opener.wrappedJSObject.SimpleTest;
    1.18 +
    1.19 +    function getMinidumpDirectory() {
    1.20 +      var dir = Services.dirsvc.get('ProfD', Components.interfaces.nsIFile);
    1.21 +      dir.append("minidumps");
    1.22 +      return dir;
    1.23 +    }
    1.24 +
    1.25 +    function removeFile(directory, filename) {
    1.26 +      var file = directory.clone();
    1.27 +      file.append(filename);
    1.28 +      if (file.exists()) {
    1.29 +        file.remove(false);
    1.30 +      }
    1.31 +    }
    1.32 +
    1.33 +    function crashObserver(subject, topic, data) {
    1.34 +      is(topic, 'ipc:content-shutdown', 'Received correct observer topic.');
    1.35 +      ok(subject instanceof Components.interfaces.nsIPropertyBag2,
    1.36 +         'Subject implements nsIPropertyBag2.');
    1.37 +
    1.38 +      var dumpID;
    1.39 +      if ('nsICrashReporter' in Components.interfaces) {
    1.40 +        dumpID = subject.getPropertyAsAString('dumpID');
    1.41 +        ok(dumpID, "dumpID is present and not an empty string");
    1.42 +      }
    1.43 +
    1.44 +      if (dumpID) {
    1.45 +        var minidumpDirectory = getMinidumpDirectory();
    1.46 +        removeFile(minidumpDirectory, dumpID + '.dmp');
    1.47 +        removeFile(minidumpDirectory, dumpID + '.extra');
    1.48 +      }
    1.49 +
    1.50 +      Services.obs.removeObserver(crashObserver, 'ipc:content-shutdown');
    1.51 +      done();
    1.52 +    }
    1.53 +    Services.obs.addObserver(crashObserver, 'ipc:content-shutdown', false);
    1.54 +
    1.55 +    document.getElementById('thebrowser')
    1.56 +            .QueryInterface(Components.interfaces.nsIFrameLoaderOwner)
    1.57 +            .frameLoader.messageManager
    1.58 +            .loadFrameScript('chrome://mochitests/content/chrome/dom/ipc/tests/process_error_contentscript.js', true);
    1.59 +  ]]></script>
    1.60 +
    1.61 +</window>

mercurial