dom/ipc/tests/process_error.xul

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 <?xml version="1.0"?>
     2 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
     4 <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
     5 	orient="vertical">
     7   <browser id="thebrowser" type="content" remote="true" />
     8   <script type="application/javascript"><![CDATA[
     9     Components.utils.import("resource://gre/modules/Services.jsm");
    11     const ok = window.opener.wrappedJSObject.ok;
    12     const is = window.opener.wrappedJSObject.is;
    13     const done = window.opener.wrappedJSObject.done;
    14     const SimpleTest = window.opener.wrappedJSObject.SimpleTest;
    16     function getMinidumpDirectory() {
    17       var dir = Services.dirsvc.get('ProfD', Components.interfaces.nsIFile);
    18       dir.append("minidumps");
    19       return dir;
    20     }
    22     function removeFile(directory, filename) {
    23       var file = directory.clone();
    24       file.append(filename);
    25       if (file.exists()) {
    26         file.remove(false);
    27       }
    28     }
    30     function crashObserver(subject, topic, data) {
    31       is(topic, 'ipc:content-shutdown', 'Received correct observer topic.');
    32       ok(subject instanceof Components.interfaces.nsIPropertyBag2,
    33          'Subject implements nsIPropertyBag2.');
    35       var dumpID;
    36       if ('nsICrashReporter' in Components.interfaces) {
    37         dumpID = subject.getPropertyAsAString('dumpID');
    38         ok(dumpID, "dumpID is present and not an empty string");
    39       }
    41       if (dumpID) {
    42         var minidumpDirectory = getMinidumpDirectory();
    43         removeFile(minidumpDirectory, dumpID + '.dmp');
    44         removeFile(minidumpDirectory, dumpID + '.extra');
    45       }
    47       Services.obs.removeObserver(crashObserver, 'ipc:content-shutdown');
    48       done();
    49     }
    50     Services.obs.addObserver(crashObserver, 'ipc:content-shutdown', false);
    52     document.getElementById('thebrowser')
    53             .QueryInterface(Components.interfaces.nsIFrameLoaderOwner)
    54             .frameLoader.messageManager
    55             .loadFrameScript('chrome://mochitests/content/chrome/dom/ipc/tests/process_error_contentscript.js', true);
    56   ]]></script>
    58 </window>

mercurial