Skip to content

Commit 1a74e80

Browse files
authored
SDK Updates
SDK Updates
1 parent e0fa695 commit 1a74e80

File tree

2 files changed

+302
-300
lines changed

2 files changed

+302
-300
lines changed

logging.js

Lines changed: 142 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -1,142 +1,142 @@
1-
/* This Source Code Form is subject to the terms of the Mozilla Public
2-
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
3-
* You can obtain one at http://mozilla.org/MPL/2.0/. */
4-
"use strict";
5-
6-
const global = this;
7-
8-
Instances.register("ScriptError", "@mozilla.org/scripterror;1", "nsIScriptError", "init");
9-
10-
var UNKNOWN_STACK = {
11-
stackMsg: "",
12-
sourceName: "unknown",
13-
sourceLine: "",
14-
lineNumber: 0,
15-
columnNumber: 0
16-
};
17-
Object.freeze(UNKNOWN_STACK);
18-
19-
function prepareStack(stack) {
20-
if (!stack || !(stack instanceof Ci.nsIStackFrame)) {
21-
stack = Components.stack;
22-
for (let i = 0; stack && i < 2; ++i) {
23-
stack = stack.caller;
24-
}
25-
if (!stack) {
26-
return UNKNOWN_STACK;
27-
}
28-
}
29-
let rv = {};
30-
rv.sourceName = stack.filename;
31-
rv.sourceLine = stack.sourceLine;
32-
rv.lineNumber = stack.lineNumber;
33-
let message = [];
34-
for (let i = 0; stack && i < 6; ++i, stack = stack.caller) {
35-
if (stack.lineNumber) {
36-
message.push("\t" + (stack.name || "[anonymous]") + "() @ " + stack.filename + ":" + stack.lineNumber);
37-
}
38-
else {
39-
message.push("\t[native @ " + (stack.languageName || "???" ) + "]");
40-
}
41-
}
42-
rv.stackMsg = message.join("\n");
43-
rv.prototype = UNKNOWN_STACK;
44-
return rv;
45-
}
46-
47-
const {
48-
errorFlag,
49-
warningFlag,
50-
exceptionFlag
51-
} = Ci.nsIScriptError;
52-
53-
Object.defineProperties(exports, {
54-
LOG_DEBUG: {value: 0, enumerable: true},
55-
LOG_INFO: {value: 1, enumerable: true},
56-
LOG_ERROR: {value: 2, enumerable: true},
57-
LOG_NONE: {value: 0x7FFFFFFF},
58-
PREFIX: {get: function() prefix},
59-
setLogLevel: {value: function(l) global.level = l}
60-
});
61-
62-
var prefix = ADDON.name;
63-
var level = exports.LOG_NONE;
64-
65-
exports.log = function(level, message, exception) {
66-
try {
67-
if (global.level > level) {
68-
return;
69-
}
70-
71-
if (message instanceof Ci.nsIScriptError || message instanceof Ci.nsIException || message.fileName) {
72-
exception = message;
73-
message = exception.message;
74-
}
75-
else if (exception) {
76-
message = message + " [Exception: " + exception.message + "]";
77-
}
78-
79-
let {
80-
stackMsg,
81-
sourceName,
82-
sourceLine,
83-
lineNumber,
84-
columnNumber
85-
} = prepareStack((exception && exception.location) || null);
86-
87-
if (stackMsg) {
88-
message += "\n" + stackMsg;
89-
}
90-
91-
let category = "component javascript";
92-
93-
if (exception) {
94-
if (exception instanceof Ci.nsIScriptError) {
95-
sourceName = exception.sourceName;
96-
sourceLine = exception.sourceLine;
97-
lineNumber = exception.lineNumber;
98-
columnNumber = exception.columnNumber;
99-
category = exception.category;
100-
}
101-
else if (exception instanceof Ci.nsIException) {
102-
sourceName = exception.filename;
103-
lineNumber = exception.lineNumber;
104-
}
105-
else {
106-
sourceName = exception.fileName || sourceName;
107-
lineNumber = exception.lineNumber || lineNumber;
108-
}
109-
}
110-
111-
let levelMsg;
112-
switch (level) {
113-
case exports.LOG_ERROR:
114-
levelMsg = "error";
115-
break;
116-
case exports.LOG_INFO:
117-
levelMsg = "info";
118-
break;
119-
default:
120-
levelMsg = "debug";
121-
}
122-
123-
message = global.prefix + " (" + levelMsg + ") - " + message;
124-
125-
const scriptError = new Instances.ScriptError(
126-
message,
127-
sourceName,
128-
sourceLine,
129-
lineNumber,
130-
columnNumber,
131-
level >= exports.LOG_ERROR ? errorFlag : warningFlag,
132-
category);
133-
Services.console.logMessage(scriptError);
134-
}
135-
catch (ex) {
136-
reportError("failed to log");
137-
reportError(ex);
138-
reportError(exception || message);
139-
}
140-
}
141-
142-
/* vim: set et ts=2 sw=2 : */
1+
/* This Source Code Form is subject to the terms of the Mozilla Public
2+
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
3+
* You can obtain one at http://mozilla.org/MPL/2.0/. */
4+
"use strict";
5+
6+
const global = this;
7+
8+
Instances.register("ScriptError", "@mozilla.org/scripterror;1", "nsIScriptError", "init");
9+
10+
var UNKNOWN_STACK = {
11+
stackMsg: "",
12+
sourceName: "unknown",
13+
sourceLine: "",
14+
lineNumber: 0,
15+
columnNumber: 0
16+
};
17+
Object.freeze(UNKNOWN_STACK);
18+
19+
function prepareStack(stack) {
20+
if (!stack || !(stack instanceof Ci.nsIStackFrame)) {
21+
stack = Components.stack;
22+
for (let i = 0; stack && i < 2; ++i) {
23+
stack = stack.caller;
24+
}
25+
if (!stack) {
26+
return UNKNOWN_STACK;
27+
}
28+
}
29+
let rv = {};
30+
rv.sourceName = stack.filename;
31+
rv.sourceLine = stack.sourceLine;
32+
rv.lineNumber = stack.lineNumber;
33+
let message = [];
34+
for (let i = 0; stack && i < 6; ++i, stack = stack.caller) {
35+
if (stack.lineNumber) {
36+
message.push("\t" + (stack.name || "[anonymous]") + "() @ " + stack.filename + ":" + stack.lineNumber);
37+
}
38+
else {
39+
message.push("\t[native @ " + (stack.languageName || "???" ) + "]");
40+
}
41+
}
42+
rv.stackMsg = message.join("\n");
43+
rv.prototype = UNKNOWN_STACK;
44+
return rv;
45+
}
46+
47+
const {
48+
errorFlag,
49+
warningFlag,
50+
exceptionFlag
51+
} = Ci.nsIScriptError;
52+
53+
Object.defineProperties(exports, {
54+
LOG_DEBUG: {value: 0, enumerable: true},
55+
LOG_INFO: {value: 1, enumerable: true},
56+
LOG_ERROR: {value: 2, enumerable: true},
57+
LOG_NONE: {value: 0x7FFFFFFF},
58+
PREFIX: {get: function() {return prefix;}},
59+
setLogLevel: {value: function(l) {global.level = l;}}
60+
});
61+
62+
var prefix = ADDON.name;
63+
var level = exports.LOG_NONE;
64+
65+
exports.log = function(level, message, exception) {
66+
try {
67+
if (global.level > level) {
68+
return;
69+
}
70+
71+
if (message instanceof Ci.nsIScriptError || message instanceof Ci.nsIException || message.fileName) {
72+
exception = message;
73+
message = exception.message;
74+
}
75+
else if (exception) {
76+
message = message + " [Exception: " + exception.message + "]";
77+
}
78+
79+
let {
80+
stackMsg,
81+
sourceName,
82+
sourceLine,
83+
lineNumber,
84+
columnNumber
85+
} = prepareStack((exception && exception.location) || null);
86+
87+
if (stackMsg) {
88+
message += "\n" + stackMsg;
89+
}
90+
91+
let category = "component javascript";
92+
93+
if (exception) {
94+
if (exception instanceof Ci.nsIScriptError) {
95+
sourceName = exception.sourceName;
96+
sourceLine = exception.sourceLine;
97+
lineNumber = exception.lineNumber;
98+
columnNumber = exception.columnNumber;
99+
category = exception.category;
100+
}
101+
else if (exception instanceof Ci.nsIException) {
102+
sourceName = exception.filename;
103+
lineNumber = exception.lineNumber;
104+
}
105+
else {
106+
sourceName = exception.fileName || sourceName;
107+
lineNumber = exception.lineNumber || lineNumber;
108+
}
109+
}
110+
111+
let levelMsg;
112+
switch (level) {
113+
case exports.LOG_ERROR:
114+
levelMsg = "error";
115+
break;
116+
case exports.LOG_INFO:
117+
levelMsg = "info";
118+
break;
119+
default:
120+
levelMsg = "debug";
121+
}
122+
123+
message = global.prefix + " (" + levelMsg + ") - " + message;
124+
125+
const scriptError = new Instances.ScriptError(
126+
message,
127+
sourceName,
128+
sourceLine,
129+
lineNumber,
130+
columnNumber,
131+
level >= exports.LOG_ERROR ? errorFlag : warningFlag,
132+
category);
133+
Services.console.logMessage(scriptError);
134+
}
135+
catch (ex) {
136+
reportError("failed to log");
137+
reportError(ex);
138+
reportError(exception || message);
139+
}
140+
}
141+
142+
/* vim: set et ts=2 sw=2 : */

0 commit comments

Comments
 (0)