Skip to content

Commit 2b4cc6b

Browse files
Connor ClarkDevtools-frontend LUCI CQ
authored andcommitted
[RPP] Fix source maps not being loaded in enhanced traces
http://crrev.com/c/6955443 refactored EnhancedTracesParser to use a TraceObject, but there was a subtle bug that caused TraceObject to never have any metadata (which is where the source maps live). Bug: 427455148 Change-Id: I417b567ca034c1a223eb53cdd5a08467f4d7b8ca Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/7028254 Commit-Queue: Connor Clark <cjamcl@chromium.org> Auto-Submit: Connor Clark <cjamcl@chromium.org> Reviewed-by: Paul Irish <paulirish@chromium.org>
1 parent 88892c1 commit 2b4cc6b

3 files changed

Lines changed: 12 additions & 8 deletions

File tree

front_end/core/sdk/RehydratingConnection.snapshot.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ Content:
420420
"url": "https://www.paulirish.com/javascripts/firebase-performance-standalone.js",
421421
"hasSourceURL": false,
422422
"sourceURL": "",
423-
"sourceMapURL": "firebase-performance-standalone.js.map",
423+
"sourceMapURL": "data:application/json;charset=utf-8,%7B%22version%22%3A3%2C%22file%22%3A%22firebase-performance-standalone.js%22%2C%22sources%22%3A%5B%22..%2F..%2Fnode_modules%2Ftslib%2Ftslib.es6.js%22%2C%22..%2Futil…",
424424
"pid": 97964,
425425
"sourceText": "!function(e,t){\"obje…",
426426
"length": 48248,

front_end/core/sdk/RehydratingConnection.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,9 @@ describeWithEnvironment('RehydratingConnection emittance', () => {
282282
if (typeof m === 'object' && m.params?.sourceText) {
283283
m.params.sourceText = m.params.sourceText.slice(0, 20) + '…';
284284
}
285+
if (typeof m === 'object' && m.params?.sourceMapURL && m.params.sourceMapURL.length > 200) {
286+
m.params.sourceMapURL = m.params.sourceMapURL.slice(0, 200) + '…';
287+
}
285288
// @ts-expect-error
286289
if (typeof m === 'object' && m.result?.scriptSource) {
287290
// @ts-expect-error

front_end/core/sdk/TraceObject.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@ import type {SourceMapV3} from './SourceMap.js';
1414
export class TraceObject {
1515
readonly traceEvents: Protocol.Tracing.DataCollectedEvent['value'];
1616
readonly metadata: {sourceMaps?: Array<{sourceMapUrl: string, sourceMap: SourceMapV3, url: string}>};
17-
constructor(payload: Protocol.Tracing.DataCollectedEvent['value']|TraceObject, meta: Object = {}) {
18-
// Handle the typical traceEvent array juggling here.
19-
const events = Array.isArray(payload) ? payload : payload.traceEvents;
20-
const metadata = meta ?? (!Array.isArray(payload) && payload.metadata) ?? {};
21-
22-
this.traceEvents = events;
23-
this.metadata = metadata;
17+
constructor(payload: Protocol.Tracing.DataCollectedEvent['value']|TraceObject, meta?: Object) {
18+
if (Array.isArray(payload)) {
19+
this.traceEvents = payload;
20+
this.metadata = meta ?? {};
21+
} else {
22+
this.traceEvents = payload.traceEvents;
23+
this.metadata = payload.metadata;
24+
}
2425
}
2526
}
2627

0 commit comments

Comments
 (0)