diff --git a/core/lib/network-recorder.js b/core/lib/network-recorder.js index 11911066ed35..a16aa5e33c28 100644 --- a/core/lib/network-recorder.js +++ b/core/lib/network-recorder.js @@ -80,6 +80,7 @@ class NetworkRecorder extends RequestEventEmitter { const request = new NetworkRequest(); request.onRequestWillBeSent(data); request.sessionId = event.sessionId; + request.sessionTargetType = event.targetType; this.onRequestStarted(request); log.verbose('network', `request will be sent to ${request.url}`); return; diff --git a/core/test/lib/network-recorder-test.js b/core/test/lib/network-recorder-test.js index a09388ecb775..db316b5445db 100644 --- a/core/test/lib/network-recorder-test.js +++ b/core/test/lib/network-recorder-test.js @@ -195,6 +195,19 @@ describe('network recorder', function() { ]); }); + it('should set sessionId and sessionTargetType of from just request event', () => { + const devtoolsLogs = networkRecordsToDevtoolsLog([ + {url: 'http://iframe.com', sessionId: 'session2', sessionTargetType: 'iframe'}, + ]); + const requestWillBeSentLog = + devtoolsLogs.filter(entry => entry.method === 'Network.requestWillBeSent'); + + const records = NetworkRecorder.recordsFromLogs(requestWillBeSentLog); + expect(records).toMatchObject([ + {url: 'http://iframe.com', sessionTargetType: 'iframe', sessionId: 'session2'}, + ]); + }); + it('should handle prefetch requests', () => { const records = NetworkRecorder.recordsFromLogs(prefetchedScriptDevtoolsLog); expect(records).toHaveLength(5);