Commit 9c907b62 authored by Joey Arhar's avatar Joey Arhar Committed by Commit Bot

[DevTools] Improve error checking on custom fields for HAR imports

Bug: 968623
Change-Id: Ie0aaa7bc036ea5f170270f0f2e26ad158381b440
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1639317Reviewed-by: default avatarErik Luo <luoe@chromium.org>
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#665318}
parent 1f63c152
......@@ -169,12 +169,38 @@ HARImporter.HAREntry = class extends HARImporter.HARBase {
// Chrome specific.
this._fromCache = HARImporter.HARBase._optionalString(data['_fromCache']);
if (data['_initiator'])
this._initiator = new HARImporter.HARInitiator(data['_initiator']);
this._initiator = this._importInitiator(data['_initiator']);
this._priority = HARImporter.HARBase._optionalString(data['_priority']);
this._resourceType = HARImporter.HARBase._optionalString(data['_resourceType']);
if (Array.isArray(data['_webSocketMessages']))
this._webSocketMessages = data['_webSocketMessages'].map(message => new HARImporter.HARWebSocketMessage(message));
this._webSocketMessages = this._importWebSocketMessages(data['_webSocketMessages']);
}
/**
* @param {*} initiator
* @return {!HARImporter.HARInitiator|undefined}
*/
_importInitiator(initiator) {
if (typeof initiator !== 'object')
return;
return new HARImporter.HARInitiator(initiator);
}
/**
* @param {*} inputMessages
* @return {!Array<!HARImporter.HARInitiator>|undefined}
*/
_importWebSocketMessages(inputMessages) {
if (!Array.isArray(inputMessages))
return;
const outputMessages = [];
for (const message of inputMessages) {
if (typeof message !== 'object')
return;
outputMessages.push(new HARImporter.HARWebSocketMessage(message));
}
return outputMessages;
}
};
......
......@@ -129,11 +129,7 @@ requests: [
{
"url": "http://localhost:8000/js_file.js",
"documentURL": "http://localhost:8000/",
"initiator": {
"type": "parser",
"url": "http://localhost/",
"lineNumber": 1
},
"initiator": null,
"requestFormData": null,
"connectionId": "2945",
"requestMethod": "GET",
......
......@@ -199,8 +199,7 @@ const harJson = {
'_blocked_proxy': 0.4910000000000001
},
'serverIPAddress': '[::1]',
'_initiator':
{'type': 'parser', 'url': 'http://localhost/', 'lineNumber': 1},
'_initiator': 'bad_initiator_string',
'_priority': 'Low',
'connection': '2945',
'pageref': 'page_1'
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment