|
19 | 19 | } |
20 | 20 |
|
21 | 21 | const headerStyle = { |
22 | | - 'font-size': 'larger', |
| 22 | + 'font-size': '1.5em', |
23 | 23 | 'font-weight': 'bold' |
24 | 24 | } |
25 | 25 |
|
| 26 | + const functionNameStyle = { |
| 27 | + 'margin-top': '1em', |
| 28 | + 'font-size': '1.2em' |
| 29 | + } |
| 30 | + |
| 31 | + const linkStyle = { |
| 32 | + 'font-size': '0.8em' |
| 33 | + } |
| 34 | + |
| 35 | + const anchorStyle = { |
| 36 | + 'text-decoration': 'none', |
| 37 | + color: 'rgb(222, 222, 222)' |
| 38 | + } |
| 39 | + |
26 | 40 | const traceStyle = { |
27 | 41 | 'font-size': '1rem' |
28 | 42 | } |
|
54 | 68 | applyStyles(trace, traceStyle) |
55 | 69 | for (const frame of frames) { |
56 | 70 | const { functionName, fileName, lineNumber } = frame |
57 | | - const { source } = frame |
| 71 | + const url = `${fileName}:${lineNumber}` |
| 72 | + |
58 | 73 | const elem = document.createElement('div') |
59 | 74 |
|
60 | | - // If source is available, use that (directly from browser) ... |
61 | | - if (source != null) { |
62 | | - elem.appendChild(document.createTextNode(`\t${source.trim()}`)) |
63 | | - } else { |
64 | | - // We need to construct our own source since it wasn't given to us |
65 | | - // This StackFrame is most likely from sourcemaps which means |
66 | | - // column numbers aren't available ... so let's only show line numbers. |
67 | | - if (functionName != null) { |
68 | | - elem.appendChild(document.createTextNode(`\tat ${functionName} (${fileName}:${lineNumber})`)) |
69 | | - } else { |
70 | | - elem.appendChild(document.createTextNode(`\tat ${fileName}:${lineNumber}`)) |
71 | | - } |
72 | | - } |
| 75 | + const elemFunctionName = document.createElement('div') |
| 76 | + applyStyles(elemFunctionName, functionNameStyle) |
| 77 | + elemFunctionName.appendChild(document.createTextNode(functionName || '(anonymous function)')) |
| 78 | + elem.appendChild(elemFunctionName) |
| 79 | + |
| 80 | + const elemLink = document.createElement('div') |
| 81 | + applyStyles(elemLink, linkStyle) |
| 82 | + const elemAnchor = document.createElement('a') |
| 83 | + applyStyles(elemAnchor, anchorStyle) |
| 84 | + elemAnchor.href = url |
| 85 | + elemAnchor.appendChild(document.createTextNode(url)) |
| 86 | + elemLink.appendChild(elemAnchor) |
| 87 | + elem.appendChild(elemLink) |
| 88 | + |
73 | 89 | trace.appendChild(elem) |
74 | 90 | } |
75 | 91 | overlay.appendChild(trace) |
|
0 commit comments