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>