diff --git a/lighthouse-core/gather/computed/trace-of-tab.js b/lighthouse-core/gather/computed/trace-of-tab.js index ac1bbfc5b00b..7b238ca42c3f 100644 --- a/lighthouse-core/gather/computed/trace-of-tab.js +++ b/lighthouse-core/gather/computed/trace-of-tab.js @@ -44,9 +44,9 @@ class TraceOfTab extends ComputedArtifact { const keyEvents = trace.traceEvents .filter(e => { return e.cat.includes('blink.user_timing') || - e.cat.includes('loading') || - e.cat.includes('devtools.timeline') || - e.cat === '__metadata'; + e.cat.includes('loading') || + e.cat.includes('devtools.timeline') || + e.cat === '__metadata'; }) // @ts-ignore - stableSort added to Array by WebInspector. .stableSort((event0, event1) => event0.ts - event1.ts); @@ -55,6 +55,7 @@ class TraceOfTab extends ComputedArtifact { /** @type {LH.TraceEvent|undefined} */ let startedInPageEvt; const startedInBrowserEvt = keyEvents.find(e => e.name === 'TracingStartedInBrowser'); +<<<<<<< HEAD // `persistentIds` is a signal that the frame data will be attached, prefer it when available. if (startedInBrowserEvt && startedInBrowserEvt.args.data && startedInBrowserEvt.args.data.persistentIds) { @@ -62,6 +63,16 @@ class TraceOfTab extends ComputedArtifact { const pid = mainFrame && mainFrame.processId; const threadNameEvt = keyEvents.find(e => e.pid === pid && e.ph === 'M' && e.cat === '__metadata' && e.name === 'thread_name' && e.args.name === 'CrRendererMain'); +======= + if (startedInBrowserEvt && startedInBrowserEvt.args.data && + startedInBrowserEvt.args.data.frames) { + const mainFrame = startedInBrowserEvt.args.data.frames.find(frame => !frame.parent); + const pid = mainFrame && mainFrame.processId; + const threadNameEvt = keyEvents.find(e => e.pid === pid && e.ph === 'M' && + e.cat === '__metadata' && e.name === 'thread_name' && + // @ts-ignore - property chain exists for 'thread_name' event. + e.args.name === 'CrRendererMain'); +>>>>>>> core: Support traces with TracingStartedInBrowser event startedInPageEvt = mainFrame && threadNameEvt ? Object.assign({}, startedInBrowserEvt, { pid, tid: threadNameEvt.tid, name: 'TracingStartedInPage', diff --git a/lighthouse-core/test/gather/computed/trace-of-tab-test.js b/lighthouse-core/test/gather/computed/trace-of-tab-test.js index 77ca29474ca9..d401e6aa0d7d 100644 --- a/lighthouse-core/test/gather/computed/trace-of-tab-test.js +++ b/lighthouse-core/test/gather/computed/trace-of-tab-test.js @@ -123,7 +123,6 @@ describe('Trace of Tab computed artifact:', () => { 'name': 'TracingStartedInBrowser', 'args': {'data': { 'frameTreeNodeId': 1, - 'persistentIds': true, 'frames': [{ 'frame': 'B192D1F3355A6F961EC8F0B01623C1FB', 'url': 'http://www.example.com/', diff --git a/typings/externs.d.ts b/typings/externs.d.ts index 1dc0e3464be6..985497a47097 100644 --- a/typings/externs.d.ts +++ b/typings/externs.d.ts @@ -138,7 +138,6 @@ declare global { args: { data?: { name?: string; - persistentIds?: boolean; frames?: { frame: string; parent?: string;