Skip to content
This repository was archived by the owner on Sep 21, 2021. It is now read-only.

Commit 72fd3a8

Browse files
committed
Visual alignment on Error stacktrace.
Making it match the stacktrace existing in mozilla-central.
1 parent bbc07a3 commit 72fd3a8

File tree

4 files changed

+43
-23
lines changed

4 files changed

+43
-23
lines changed

packages/devtools-reps/src/reps/error.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,9 @@ function getStacktraceElements(props, preview) {
142142
className: "objectBox-stackTrace-location",
143143
onClick: onLocationClick,
144144
title: onLocationClick
145-
? "View source in debugger"
145+
? "View source in debugger → " + location
146146
: undefined,
147-
}, ` (${location})`));
147+
}, location));
148148
});
149149

150150
return span({

packages/devtools-reps/src/reps/reps.css

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
--node-color: var(--theme-highlight-purple);
1616
--reference-color: var(--theme-highlight-blue);
1717
--comment-node-color: var(--theme-comment);
18-
--stack-function-color: var(--theme-highlight-red);
1918
}
2019

2120
.theme-firebug {
@@ -77,11 +76,14 @@
7776
}
7877

7978
.objectBox-function,
80-
.objectBox-stackTrace,
8179
.objectBox-profile {
8280
color: var(--object-color);
8381
}
8482

83+
.objectBox-stackTrace {
84+
color: var(--error-color);
85+
}
86+
8587
.objectBox-stackTrace-grid {
8688
display: inline-grid;
8789
grid-template-columns: auto auto;
@@ -90,14 +92,30 @@
9092

9193
.objectBox-stackTrace-fn::before {
9294
content: "\3BB"; /* The "lambda" symbol */
93-
color: var(--theme-body-color);
9495
display: inline-block;
9596
margin: 0 0.3em;
9697
}
9798

9899
.objectBox-stackTrace-fn {
99-
color: var(--stack-function-color);
100+
color: var(--console-output-color);
100101
padding-inline-start: 17px;
102+
white-space: nowrap;
103+
overflow: hidden;
104+
text-overflow: ellipsis;
105+
margin-inline-end: 5px;
106+
}
107+
108+
.objectBox-stackTrace-location {
109+
color: var(--frame-link-source, currentColor);
110+
direction: rtl;
111+
white-space: nowrap;
112+
overflow: hidden;
113+
text-overflow: ellipsis;
114+
text-align: end;
115+
}
116+
117+
.objectBox-stackTrace-location:hover {
118+
text-decoration: underline;
101119
}
102120

103121
.objectBox-stackTrace-location {

packages/devtools-reps/src/reps/tests/__snapshots__/error.js.snap

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ exports[`Error - Eval error renders with expected text for an EvalError 1`] = `
2222
className="objectBox-stackTrace-location"
2323
key="location0"
2424
>
25-
(debugger eval code:10:13)
25+
debugger eval code:10:13
2626
</span>
2727
</span>
2828
</span>
@@ -50,7 +50,7 @@ exports[`Error - Internal error renders with expected text for an InternalError
5050
className="objectBox-stackTrace-location"
5151
key="location0"
5252
>
53-
(debugger eval code:11:13)
53+
debugger eval code:11:13
5454
</span>
5555
</span>
5656
</span>
@@ -78,7 +78,7 @@ exports[`Error - Multi line stack error renders with expected text for Error obj
7878
className="objectBox-stackTrace-location"
7979
key="location0"
8080
>
81-
(debugger eval code:6:15)
81+
debugger eval code:6:15
8282
</span>
8383
<span
8484
className="objectBox-stackTrace-fn"
@@ -90,7 +90,7 @@ exports[`Error - Multi line stack error renders with expected text for Error obj
9090
className="objectBox-stackTrace-location"
9191
key="location1"
9292
>
93-
(debugger eval code:3:3)
93+
debugger eval code:3:3
9494
</span>
9595
<span
9696
className="objectBox-stackTrace-fn"
@@ -102,7 +102,7 @@ exports[`Error - Multi line stack error renders with expected text for Error obj
102102
className="objectBox-stackTrace-location"
103103
key="location2"
104104
>
105-
(debugger eval code:8:1)
105+
debugger eval code:8:1
106106
</span>
107107
</span>
108108
</span>
@@ -130,7 +130,7 @@ exports[`Error - Range error renders with expected text for RangeError 1`] = `
130130
className="objectBox-stackTrace-location"
131131
key="location0"
132132
>
133-
(debugger eval code:12:13)
133+
debugger eval code:12:13
134134
</span>
135135
</span>
136136
</span>
@@ -158,7 +158,7 @@ exports[`Error - Reference error renders with expected text for ReferenceError 1
158158
className="objectBox-stackTrace-location"
159159
key="location0"
160160
>
161-
(debugger eval code:13:13)
161+
debugger eval code:13:13
162162
</span>
163163
</span>
164164
</span>
@@ -186,7 +186,7 @@ exports[`Error - Simple error renders with expected text for simple error 1`] =
186186
className="objectBox-stackTrace-location"
187187
key="location0"
188188
>
189-
(debugger eval code:1:13)
189+
debugger eval code:1:13
190190
</span>
191191
</span>
192192
</span>
@@ -214,7 +214,7 @@ exports[`Error - Syntax error renders with expected text for SyntaxError 1`] = `
214214
className="objectBox-stackTrace-location"
215215
key="location0"
216216
>
217-
(debugger eval code:14:13)
217+
debugger eval code:14:13
218218
</span>
219219
</span>
220220
</span>
@@ -242,7 +242,7 @@ exports[`Error - Type error renders with expected text for TypeError 1`] = `
242242
className="objectBox-stackTrace-location"
243243
key="location0"
244244
>
245-
(debugger eval code:15:13)
245+
debugger eval code:15:13
246246
</span>
247247
</span>
248248
</span>
@@ -270,7 +270,7 @@ exports[`Error - URI error renders with expected text for URIError 1`] = `
270270
className="objectBox-stackTrace-location"
271271
key="location0"
272272
>
273-
(debugger eval code:16:13)
273+
debugger eval code:16:13
274274
</span>
275275
</span>
276276
</span>
@@ -307,7 +307,7 @@ exports[`Error - base-loader.js renders as expected without mode 1`] = `
307307
className="objectBox-stackTrace-location"
308308
key="location0"
309309
>
310-
(resource://devtools/shared/client/debugger-client.js:856:9)
310+
resource://devtools/shared/client/debugger-client.js:856:9
311311
</span>
312312
<span
313313
className="objectBox-stackTrace-fn"
@@ -319,7 +319,7 @@ exports[`Error - base-loader.js renders as expected without mode 1`] = `
319319
className="objectBox-stackTrace-location"
320320
key="location1"
321321
>
322-
(resource://devtools/shared/transport/transport.js:569:13)
322+
resource://devtools/shared/transport/transport.js:569:13
323323
</span>
324324
<span
325325
className="objectBox-stackTrace-fn"
@@ -331,7 +331,7 @@ exports[`Error - base-loader.js renders as expected without mode 1`] = `
331331
className="objectBox-stackTrace-location"
332332
key="location2"
333333
>
334-
(resource://devtools/shared/ThreadSafeDevToolsUtils.js:109:14)
334+
resource://devtools/shared/ThreadSafeDevToolsUtils.js:109:14
335335
</span>
336336
<span
337337
className="objectBox-stackTrace-fn"
@@ -343,7 +343,7 @@ exports[`Error - base-loader.js renders as expected without mode 1`] = `
343343
className="objectBox-stackTrace-location"
344344
key="location3"
345345
>
346-
(resource://devtools/shared/ThreadSafeDevToolsUtils.js:109:14)
346+
resource://devtools/shared/ThreadSafeDevToolsUtils.js:109:14
347347
</span>
348348
</span>
349349
</span>

packages/devtools-reps/src/reps/tests/error.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,8 @@ describe("Error - stacktrace location click", () => {
347347
const locations = renderedComponent.find(".objectBox-stackTrace-location");
348348
expect(locations.exists()).toBeTruthy();
349349

350-
expect(locations.first().prop("title")).toBe("View source in debugger");
350+
expect(locations.first().prop("title")).toBe("View source in debugger → " +
351+
"resource://devtools/shared/client/debugger-client.js:856:9");
351352
locations.first().simulate("click", {
352353
type: "click",
353354
stopPropagation: () => {},
@@ -359,7 +360,8 @@ describe("Error - stacktrace location click", () => {
359360
expect(mockCall.line).toEqual(856);
360361
expect(mockCall.column).toEqual(9);
361362

362-
expect(locations.last().prop("title")).toBe("View source in debugger");
363+
expect(locations.last().prop("title")).toBe("View source in debugger → " +
364+
"resource://devtools/shared/ThreadSafeDevToolsUtils.js:109:14");
363365
locations.last().simulate("click", {
364366
type: "click",
365367
stopPropagation: () => {},

0 commit comments

Comments
 (0)