mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-01 04:47:31 +09:00
1283712 - Part 11.1: Show notes in devtools console.
This commit is contained in:
parent
700a57c289
commit
9f71d02fcf
7 changed files with 87 additions and 4 deletions
|
|
@ -34,6 +34,7 @@ function EvaluationResult(props) {
|
||||||
id: messageId,
|
id: messageId,
|
||||||
exceptionDocURL,
|
exceptionDocURL,
|
||||||
frame,
|
frame,
|
||||||
|
notes,
|
||||||
} = message;
|
} = message;
|
||||||
|
|
||||||
let messageBody;
|
let messageBody;
|
||||||
|
|
@ -57,6 +58,7 @@ function EvaluationResult(props) {
|
||||||
serviceContainer,
|
serviceContainer,
|
||||||
exceptionDocURL,
|
exceptionDocURL,
|
||||||
frame,
|
frame,
|
||||||
|
notes,
|
||||||
};
|
};
|
||||||
return Message(childProps);
|
return Message(childProps);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@ function PageError(props) {
|
||||||
stacktrace,
|
stacktrace,
|
||||||
frame,
|
frame,
|
||||||
exceptionDocURL,
|
exceptionDocURL,
|
||||||
|
notes,
|
||||||
} = message;
|
} = message;
|
||||||
|
|
||||||
const childProps = {
|
const childProps = {
|
||||||
|
|
@ -62,6 +63,7 @@ function PageError(props) {
|
||||||
stacktrace,
|
stacktrace,
|
||||||
serviceContainer,
|
serviceContainer,
|
||||||
exceptionDocURL,
|
exceptionDocURL,
|
||||||
|
notes,
|
||||||
};
|
};
|
||||||
return Message(childProps);
|
return Message(childProps);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,10 @@ const Message = createClass({
|
||||||
onViewSourceInDebugger: PropTypes.func.isRequired,
|
onViewSourceInDebugger: PropTypes.func.isRequired,
|
||||||
sourceMapService: PropTypes.any,
|
sourceMapService: PropTypes.any,
|
||||||
}),
|
}),
|
||||||
|
notes: PropTypes.arrayOf(PropTypes.shape({
|
||||||
|
messageBody: PropTypes.string.isRequired,
|
||||||
|
frame: PropTypes.any,
|
||||||
|
})),
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function () {
|
getDefaultProps: function () {
|
||||||
|
|
@ -90,6 +94,7 @@ const Message = createClass({
|
||||||
serviceContainer,
|
serviceContainer,
|
||||||
dispatch,
|
dispatch,
|
||||||
exceptionDocURL,
|
exceptionDocURL,
|
||||||
|
notes,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
topLevelClasses.push("message", source, type, level);
|
topLevelClasses.push("message", source, type, level);
|
||||||
|
|
@ -127,6 +132,29 @@ const Message = createClass({
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let notesNodes;
|
||||||
|
if (notes) {
|
||||||
|
notes.map(note => dom.span(
|
||||||
|
{ className: "message-flex-body error-note" },
|
||||||
|
dom.span({ className: "message-body devtools-monospace" },
|
||||||
|
"note: " + note.messageBody
|
||||||
|
),
|
||||||
|
dom.span({ className: "message-location devtools-monospace" },
|
||||||
|
note.frame ? FrameView({
|
||||||
|
frame: note.frame,
|
||||||
|
onClick: serviceContainer
|
||||||
|
? serviceContainer.onViewSourceInDebugger
|
||||||
|
: undefined,
|
||||||
|
showEmptyPathAsHost: true,
|
||||||
|
sourceMapService: serviceContainer
|
||||||
|
? serviceContainer.sourceMapService
|
||||||
|
: undefined
|
||||||
|
}) : null
|
||||||
|
)));
|
||||||
|
} else {
|
||||||
|
notesNodes = [];
|
||||||
|
}
|
||||||
|
|
||||||
const repeat = this.props.repeat ? MessageRepeat({repeat: this.props.repeat}) : null;
|
const repeat = this.props.repeat ? MessageRepeat({repeat: this.props.repeat}) : null;
|
||||||
|
|
||||||
// Configure the location.
|
// Configure the location.
|
||||||
|
|
@ -167,7 +195,8 @@ const Message = createClass({
|
||||||
repeat,
|
repeat,
|
||||||
location
|
location
|
||||||
),
|
),
|
||||||
attachment
|
attachment,
|
||||||
|
...notesNodes
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -126,6 +126,15 @@ function matchSearchFilters(message, filters) {
|
||||||
|| (message.parameters !== null
|
|| (message.parameters !== null
|
||||||
&& message.parameters.join("").toLocaleLowerCase()
|
&& message.parameters.join("").toLocaleLowerCase()
|
||||||
.includes(text.toLocaleLowerCase()))
|
.includes(text.toLocaleLowerCase()))
|
||||||
|
// Look for a match in notes.
|
||||||
|
|| (Array.isArray(message.notes) && message.notes.some(note =>
|
||||||
|
// Look for a match in location.
|
||||||
|
isTextInFrame(text, note.frame)
|
||||||
|
// Look for a match in messageBody.
|
||||||
|
|| (note.messageBody !== null
|
||||||
|
&& note.messageBody.toLocaleLowerCase()
|
||||||
|
.includes(text.toLocaleLowerCase()))
|
||||||
|
))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ exports.ConsoleMessage = Immutable.Record({
|
||||||
groupId: null,
|
groupId: null,
|
||||||
exceptionDocURL: null,
|
exceptionDocURL: null,
|
||||||
userProvidedStyles: null,
|
userProvidedStyles: null,
|
||||||
|
notes: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
exports.NetworkEventMessage = Immutable.Record({
|
exports.NetworkEventMessage = Immutable.Record({
|
||||||
|
|
|
||||||
|
|
@ -165,6 +165,7 @@ function transformPacket(packet) {
|
||||||
stacktrace: pageError.stacktrace ? pageError.stacktrace : null,
|
stacktrace: pageError.stacktrace ? pageError.stacktrace : null,
|
||||||
frame,
|
frame,
|
||||||
exceptionDocURL: pageError.exceptionDocURL,
|
exceptionDocURL: pageError.exceptionDocURL,
|
||||||
|
notes: pageError.notes,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -185,7 +186,8 @@ function transformPacket(packet) {
|
||||||
exceptionMessage: messageText,
|
exceptionMessage: messageText,
|
||||||
exceptionDocURL,
|
exceptionDocURL,
|
||||||
frame,
|
frame,
|
||||||
result: parameters
|
result: parameters,
|
||||||
|
notes,
|
||||||
} = packet;
|
} = packet;
|
||||||
|
|
||||||
const level = messageText ? MESSAGE_LEVEL.ERROR : MESSAGE_LEVEL.LOG;
|
const level = messageText ? MESSAGE_LEVEL.ERROR : MESSAGE_LEVEL.LOG;
|
||||||
|
|
@ -197,6 +199,7 @@ function transformPacket(packet) {
|
||||||
parameters,
|
parameters,
|
||||||
exceptionDocURL,
|
exceptionDocURL,
|
||||||
frame,
|
frame,
|
||||||
|
notes,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -888,7 +888,8 @@ WebConsoleActor.prototype =
|
||||||
let evalResult = evalInfo.result;
|
let evalResult = evalInfo.result;
|
||||||
let helperResult = evalInfo.helperResult;
|
let helperResult = evalInfo.helperResult;
|
||||||
|
|
||||||
let result, errorDocURL, errorMessage, errorGrip = null, frame = null;
|
let result, errorDocURL, errorMessage, errorNotes = null, errorGrip = null,
|
||||||
|
frame = null;
|
||||||
if (evalResult) {
|
if (evalResult) {
|
||||||
if ("return" in evalResult) {
|
if ("return" in evalResult) {
|
||||||
result = evalResult.return;
|
result = evalResult.return;
|
||||||
|
|
@ -943,6 +944,23 @@ WebConsoleActor.prototype =
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
} catch (ex) {}
|
} catch (ex) {}
|
||||||
|
|
||||||
|
try {
|
||||||
|
let notes = error.errorNotes;
|
||||||
|
if (notes && notes.length) {
|
||||||
|
errorNotes = [];
|
||||||
|
for (let note of notes) {
|
||||||
|
errorNotes.push({
|
||||||
|
messageBody: this._createStringGrip(note.message),
|
||||||
|
frame: {
|
||||||
|
source: note.fileName,
|
||||||
|
line: note.lineNumber,
|
||||||
|
column: note.columnNumber,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (ex) {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -967,6 +985,7 @@ WebConsoleActor.prototype =
|
||||||
exceptionDocURL: errorDocURL,
|
exceptionDocURL: errorDocURL,
|
||||||
frame,
|
frame,
|
||||||
helperResult: helperResult,
|
helperResult: helperResult,
|
||||||
|
notes: errorNotes,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -1500,6 +1519,23 @@ WebConsoleActor.prototype =
|
||||||
lineText = lineText.substr(0, DebuggerServer.LONG_STRING_INITIAL_LENGTH);
|
lineText = lineText.substr(0, DebuggerServer.LONG_STRING_INITIAL_LENGTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let notesArray = null;
|
||||||
|
let notes = aPageError.notes;
|
||||||
|
if (notes && notes.length) {
|
||||||
|
notesArray = [];
|
||||||
|
for (let i = 0, len = notes.length; i < len; i++) {
|
||||||
|
let note = notes.queryElementAt(i, Ci.nsIScriptErrorNote);
|
||||||
|
notesArray.push({
|
||||||
|
messageBody: this._createStringGrip(note.errorMessage),
|
||||||
|
frame: {
|
||||||
|
source: note.sourceName,
|
||||||
|
line: note.lineNumber,
|
||||||
|
column: note.columnNumber,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
errorMessage: this._createStringGrip(aPageError.errorMessage),
|
errorMessage: this._createStringGrip(aPageError.errorMessage),
|
||||||
errorMessageName: aPageError.errorMessageName,
|
errorMessageName: aPageError.errorMessageName,
|
||||||
|
|
@ -1516,7 +1552,8 @@ WebConsoleActor.prototype =
|
||||||
strict: !!(aPageError.flags & aPageError.strictFlag),
|
strict: !!(aPageError.flags & aPageError.strictFlag),
|
||||||
info: !!(aPageError.flags & aPageError.infoFlag),
|
info: !!(aPageError.flags & aPageError.infoFlag),
|
||||||
private: aPageError.isFromPrivateWindow,
|
private: aPageError.isFromPrivateWindow,
|
||||||
stacktrace: stack
|
stacktrace: stack,
|
||||||
|
notes: notesArray,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue