dom/ipc/tests/process_error.xul

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:f7823564bbdd
1 <?xml version="1.0"?>
2 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
3
4 <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
5 orient="vertical">
6
7 <browser id="thebrowser" type="content" remote="true" />
8 <script type="application/javascript"><![CDATA[
9 Components.utils.import("resource://gre/modules/Services.jsm");
10
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;
15
16 function getMinidumpDirectory() {
17 var dir = Services.dirsvc.get('ProfD', Components.interfaces.nsIFile);
18 dir.append("minidumps");
19 return dir;
20 }
21
22 function removeFile(directory, filename) {
23 var file = directory.clone();
24 file.append(filename);
25 if (file.exists()) {
26 file.remove(false);
27 }
28 }
29
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.');
34
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 }
40
41 if (dumpID) {
42 var minidumpDirectory = getMinidumpDirectory();
43 removeFile(minidumpDirectory, dumpID + '.dmp');
44 removeFile(minidumpDirectory, dumpID + '.extra');
45 }
46
47 Services.obs.removeObserver(crashObserver, 'ipc:content-shutdown');
48 done();
49 }
50 Services.obs.addObserver(crashObserver, 'ipc:content-shutdown', false);
51
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>
57
58 </window>

mercurial