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 { ...@@ -169,12 +169,38 @@ HARImporter.HAREntry = class extends HARImporter.HARBase {
// Chrome specific. // Chrome specific.
this._fromCache = HARImporter.HARBase._optionalString(data['_fromCache']); this._fromCache = HARImporter.HARBase._optionalString(data['_fromCache']);
if (data['_initiator']) this._initiator = this._importInitiator(data['_initiator']);
this._initiator = new HARImporter.HARInitiator(data['_initiator']);
this._priority = HARImporter.HARBase._optionalString(data['_priority']); this._priority = HARImporter.HARBase._optionalString(data['_priority']);
this._resourceType = HARImporter.HARBase._optionalString(data['_resourceType']); this._resourceType = HARImporter.HARBase._optionalString(data['_resourceType']);
if (Array.isArray(data['_webSocketMessages'])) this._webSocketMessages = this._importWebSocketMessages(data['_webSocketMessages']);
this._webSocketMessages = data['_webSocketMessages'].map(message => new HARImporter.HARWebSocketMessage(message)); }
/**
* @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: [ ...@@ -129,11 +129,7 @@ requests: [
{ {
"url": "http://localhost:8000/js_file.js", "url": "http://localhost:8000/js_file.js",
"documentURL": "http://localhost:8000/", "documentURL": "http://localhost:8000/",
"initiator": { "initiator": null,
"type": "parser",
"url": "http://localhost/",
"lineNumber": 1
},
"requestFormData": null, "requestFormData": null,
"connectionId": "2945", "connectionId": "2945",
"requestMethod": "GET", "requestMethod": "GET",
......
...@@ -199,8 +199,7 @@ const harJson = { ...@@ -199,8 +199,7 @@ const harJson = {
'_blocked_proxy': 0.4910000000000001 '_blocked_proxy': 0.4910000000000001
}, },
'serverIPAddress': '[::1]', 'serverIPAddress': '[::1]',
'_initiator': '_initiator': 'bad_initiator_string',
{'type': 'parser', 'url': 'http://localhost/', 'lineNumber': 1},
'_priority': 'Low', '_priority': 'Low',
'connection': '2945', 'connection': '2945',
'pageref': 'page_1' '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