summaryrefslogtreecommitdiffstats
path: root/devtools/client
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client')
-rw-r--r--devtools/client/webconsole/new-console-output/components/message-types/evaluation-result.js2
-rw-r--r--devtools/client/webconsole/new-console-output/components/message-types/page-error.js2
-rw-r--r--devtools/client/webconsole/new-console-output/components/message.js31
-rw-r--r--devtools/client/webconsole/new-console-output/selectors/messages.js9
-rw-r--r--devtools/client/webconsole/new-console-output/types.js1
-rw-r--r--devtools/client/webconsole/new-console-output/utils/messages.js5
6 files changed, 48 insertions, 2 deletions
diff --git a/devtools/client/webconsole/new-console-output/components/message-types/evaluation-result.js b/devtools/client/webconsole/new-console-output/components/message-types/evaluation-result.js
index 992dc62cf..824bdb3fb 100644
--- a/devtools/client/webconsole/new-console-output/components/message-types/evaluation-result.js
+++ b/devtools/client/webconsole/new-console-output/components/message-types/evaluation-result.js
@@ -34,6 +34,7 @@ function EvaluationResult(props) {
id: messageId,
exceptionDocURL,
frame,
+ notes,
} = message;
let messageBody;
@@ -57,6 +58,7 @@ function EvaluationResult(props) {
serviceContainer,
exceptionDocURL,
frame,
+ notes,
};
return Message(childProps);
}
diff --git a/devtools/client/webconsole/new-console-output/components/message-types/page-error.js b/devtools/client/webconsole/new-console-output/components/message-types/page-error.js
index 77ea75ff7..c68b850bd 100644
--- a/devtools/client/webconsole/new-console-output/components/message-types/page-error.js
+++ b/devtools/client/webconsole/new-console-output/components/message-types/page-error.js
@@ -44,6 +44,7 @@ function PageError(props) {
stacktrace,
frame,
exceptionDocURL,
+ notes,
} = message;
const childProps = {
@@ -62,6 +63,7 @@ function PageError(props) {
stacktrace,
serviceContainer,
exceptionDocURL,
+ notes,
};
return Message(childProps);
}
diff --git a/devtools/client/webconsole/new-console-output/components/message.js b/devtools/client/webconsole/new-console-output/components/message.js
index f36bff7e4..b3d206007 100644
--- a/devtools/client/webconsole/new-console-output/components/message.js
+++ b/devtools/client/webconsole/new-console-output/components/message.js
@@ -47,6 +47,10 @@ const Message = createClass({
onViewSourceInDebugger: PropTypes.func.isRequired,
sourceMapService: PropTypes.any,
}),
+ notes: PropTypes.arrayOf(PropTypes.shape({
+ messageBody: PropTypes.string.isRequired,
+ frame: PropTypes.any,
+ })),
},
getDefaultProps: function () {
@@ -90,6 +94,7 @@ const Message = createClass({
serviceContainer,
dispatch,
exceptionDocURL,
+ notes,
} = this.props;
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;
// Configure the location.
@@ -167,7 +195,8 @@ const Message = createClass({
repeat,
location
),
- attachment
+ attachment,
+ ...notesNodes
)
);
}
diff --git a/devtools/client/webconsole/new-console-output/selectors/messages.js b/devtools/client/webconsole/new-console-output/selectors/messages.js
index c4b1aee28..e405be2f8 100644
--- a/devtools/client/webconsole/new-console-output/selectors/messages.js
+++ b/devtools/client/webconsole/new-console-output/selectors/messages.js
@@ -126,6 +126,15 @@ function matchSearchFilters(message, filters) {
|| (message.parameters !== null
&& message.parameters.join("").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()))
+ ))
);
}
diff --git a/devtools/client/webconsole/new-console-output/types.js b/devtools/client/webconsole/new-console-output/types.js
index 897ae5d3a..cb27aedab 100644
--- a/devtools/client/webconsole/new-console-output/types.js
+++ b/devtools/client/webconsole/new-console-output/types.js
@@ -38,6 +38,7 @@ exports.ConsoleMessage = Immutable.Record({
groupId: null,
exceptionDocURL: null,
userProvidedStyles: null,
+ notes: null,
});
exports.NetworkEventMessage = Immutable.Record({
diff --git a/devtools/client/webconsole/new-console-output/utils/messages.js b/devtools/client/webconsole/new-console-output/utils/messages.js
index f91209e9d..119bc7fba 100644
--- a/devtools/client/webconsole/new-console-output/utils/messages.js
+++ b/devtools/client/webconsole/new-console-output/utils/messages.js
@@ -165,6 +165,7 @@ function transformPacket(packet) {
stacktrace: pageError.stacktrace ? pageError.stacktrace : null,
frame,
exceptionDocURL: pageError.exceptionDocURL,
+ notes: pageError.notes,
});
}
@@ -185,7 +186,8 @@ function transformPacket(packet) {
exceptionMessage: messageText,
exceptionDocURL,
frame,
- result: parameters
+ result: parameters,
+ notes,
} = packet;
const level = messageText ? MESSAGE_LEVEL.ERROR : MESSAGE_LEVEL.LOG;
@@ -197,6 +199,7 @@ function transformPacket(packet) {
parameters,
exceptionDocURL,
frame,
+ notes,
});
}
}