Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/timeline/TimelineModel.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/timeline/TimelineModel.js b/third_party/WebKit/Source/devtools/front_end/timeline/TimelineModel.js |
| index cd7212841cd566b40c4996f3f6a750a984d8683c..efd35995fb8396470392bfbdb385db256f6efd4f 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/timeline/TimelineModel.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/timeline/TimelineModel.js |
| @@ -108,6 +108,11 @@ WebInspector.TimelineModel.RecordType = { |
| TimeStamp: "TimeStamp", |
| ConsoleTime: "ConsoleTime", |
| + ResourceFetcherRequestResource: "ResourceFetcher::requestResource", |
| + ResourceDispatcherOnReceivedData: "ResourceDispatcher::OnReceivedData", |
| + ResourceDispatcherOnReceivedResponse: "ResourceDispatcher::OnReceivedResponse", |
| + ResourceDispatcherOnRequestComplete: "ResourceDispatcher::OnRequestComplete", |
| + |
| ResourceSendRequest: "ResourceSendRequest", |
| ResourceReceiveResponse: "ResourceReceiveResponse", |
| ResourceReceivedData: "ResourceReceivedData", |
| @@ -1066,6 +1071,15 @@ WebInspector.TimelineModel.prototype = { |
| */ |
| _processEvent: function(event) |
| { |
| + /** |
| + * @param {!Object} dest |
| + * @param {!Object} source |
| + */ |
| + function mergeData(dest, source) |
| + { |
| + for (var field in source) |
| + dest[field] = dest[field] || source[field]; |
| + } |
| var eventStack = this._eventStack; |
| while (eventStack.length && eventStack.peekLast().endTime <= event.startTime) |
| eventStack.pop(); |
| @@ -1086,6 +1100,22 @@ WebInspector.TimelineModel.prototype = { |
| event.url = event.initiator.url; |
| switch (event.name) { |
| case recordTypes.ResourceSendRequest: |
| + case recordTypes.ResourceReceiveResponse: |
| + case recordTypes.ResourceReceivedData: |
| + case recordTypes.ResourceFinish: |
| + var parent = eventStack.peekLast(); |
|
caseq
2015/11/06 19:37:47
This looks fragile, we can't expect other events n
alph
2015/11/06 21:04:51
Done.
|
| + if (!parent) |
| + break; |
| + if (!parent.args["data"]) |
| + parent.args["data"] = {}; |
| + mergeData(parent.args["data"], eventData); |
| + parent.stackTrace = parent.stackTrace || event.stackTrace; |
| + parent.initiator = parent.initiator || event.initiator; |
| + var url = eventData["url"] || event.initiator.url; |
| + event.url = url; |
| + parent.url = url; |
| + break; |
| + |
| case recordTypes.WebSocketCreate: |
| event.url = event.args["data"]["url"]; |
| break; |