annotate chrome/MozillaFileLogger.js @ 206:beca399c3a16

Bug 685632 - Please collect RSS (memory) data during Talos testing on Android. r=jlebar,njn
author Joel Maher <jmaher@mozilla.com>
date Wed, 09 Nov 2011 10:41:03 -0500
parents 59d4f04497dd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
198
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
1 /**
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
2 * MozillaFileLogger, a log listener that can write to a local file.
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
3 */
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
4
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
5 var ipcMode = false; // running in e10s build and need to use IPC?
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
6 try {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
7 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
8 var ipcsanity = Components.classes["@mozilla.org/preferences-service;1"]
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
9 .getService(Components.interfaces.nsIPrefBranch);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
10 ipcsanity.setIntPref("mochitest.ipcmode", 0);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
11 } catch (e) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
12 ipcMode = true;
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
13 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
14
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
15 function contentDispatchEvent(type, data, sync) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
16 if (typeof(data) === "undefined") {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
17 data = {};
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
18 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
19
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
20 var element = document.createEvent("datacontainerevent");
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
21 element.initEvent("contentEvent", true, false);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
22 element.setData("sync", sync);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
23 element.setData("type", type);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
24 element.setData("data", JSON.stringify(data));
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
25 document.dispatchEvent(element);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
26 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
27
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
28 function contentSyncEvent(type, data) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
29 contentDispatchEvent(type, data, 1);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
30 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
31
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
32 function contentAsyncEvent(type, data) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
33 contentDispatchEvent(type, data, 0);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
34 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
35
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
36 try {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
37 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
38
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
39 if (Cc === undefined) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
40 var Cc = Components.classes;
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
41 var Ci = Components.interfaces;
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
42 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
43 } catch (ex) {} //running in ipcMode-chrome
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
44
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
45 try {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
46 const FOSTREAM_CID = "@mozilla.org/network/file-output-stream;1";
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
47 const LF_CID = "@mozilla.org/file/local;1";
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
48
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
49 // File status flags. It is a bitwise OR of the following bit flags.
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
50 // Only one of the first three flags below may be used.
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
51 const PR_READ_ONLY = 0x01; // Open for reading only.
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
52 const PR_WRITE_ONLY = 0x02; // Open for writing only.
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
53 const PR_READ_WRITE = 0x04; // Open for reading and writing.
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
54
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
55 // If the file does not exist, the file is created.
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
56 // If the file exists, this flag has no effect.
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
57 const PR_CREATE_FILE = 0x08;
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
58
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
59 // The file pointer is set to the end of the file prior to each write.
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
60 const PR_APPEND = 0x10;
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
61
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
62 // If the file exists, its length is truncated to 0.
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
63 const PR_TRUNCATE = 0x20;
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
64
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
65 // If set, each write will wait for both the file data
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
66 // and file status to be physically updated.
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
67 const PR_SYNC = 0x40;
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
68
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
69 // If the file does not exist, the file is created. If the file already
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
70 // exists, no action and NULL is returned.
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
71 const PR_EXCL = 0x80;
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
72 } catch (ex) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
73 // probably not running in the test harness
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
74 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
75
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
76 /** Init the file logger with the absolute path to the file.
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
77 It will create and append if the file already exists **/
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
78 var MozillaFileLogger = {};
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
79
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
80
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
81 MozillaFileLogger.init = function(path) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
82 if (ipcMode) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
83 contentAsyncEvent("LoggerInit", {"filename": path});
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
84 return;
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
85 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
86
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
87 try {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
88 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
89 } catch (ex) {} //running in ipcMode-chrome
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
90
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
91 MozillaFileLogger._file = Cc[LF_CID].createInstance(Ci.nsILocalFile);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
92 MozillaFileLogger._file.initWithPath(path);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
93 MozillaFileLogger._foStream = Cc[FOSTREAM_CID].createInstance(Ci.nsIFileOutputStream);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
94 MozillaFileLogger._foStream.init(this._file, PR_WRITE_ONLY | PR_CREATE_FILE | PR_APPEND,
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
95 0664, 0);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
96 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
97
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
98 MozillaFileLogger.getLogCallback = function() {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
99 if (ipcMode) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
100 return function(msg) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
101 contentAsyncEvent("Logger", {"num": msg.num, "level": msg.level, "info": msg.info.join(' ')});
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
102 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
103 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
104
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
105 return function (msg) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
106 try {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
107 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
108 } catch(ex) {} //running in ipcMode-chrome
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
109
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
110 var data = msg.num + " " + msg.level + " " + msg.info.join(' ') + "\n";
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
111 if (MozillaFileLogger._foStream)
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
112 MozillaFileLogger._foStream.write(data, data.length);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
113
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
114 if (data.indexOf("SimpleTest FINISH") >= 0) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
115 MozillaFileLogger.close();
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
116 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
117 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
118 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
119
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
120 // This is only used from chrome space by the reftest harness
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
121 MozillaFileLogger.log = function(msg) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
122 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
123 if (MozillaFileLogger._foStream)
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
124 MozillaFileLogger._foStream.write(msg, msg.length);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
125 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
126
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
127 MozillaFileLogger.close = function() {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
128 if (ipcMode) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
129 contentAsyncEvent("LoggerClose");
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
130 return;
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
131 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
132
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
133 try {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
134 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
135 } catch(ex) {} //running in ipcMode-chrome
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
136
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
137 if(MozillaFileLogger._foStream)
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
138 MozillaFileLogger._foStream.close();
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
139
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
140 MozillaFileLogger._foStream = null;
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
141 MozillaFileLogger._file = null;
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
142 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
143
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
144 if (ipcMode == false) {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
145 try {
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
146 var prefs = Components.classes['@mozilla.org/preferences-service;1']
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
147 .getService(Components.interfaces.nsIPrefBranch2);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
148 var filename = prefs.getCharPref('talos.logfile');
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
149 MozillaFileLogger.init(filename);
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
150 } catch (ex) {} //pref does not exist, return empty string
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
151 }
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
152
59d4f04497dd package into extension for profile, add direct file logging instead of stdout r=vlad
Joel Maher <jmaher@mozilla.com>
parents:
diff changeset
153