Chromium Code Reviews| Index: Source/devtools/front_end/sdk/NetworkManager.js |
| diff --git a/Source/devtools/front_end/sdk/NetworkManager.js b/Source/devtools/front_end/sdk/NetworkManager.js |
| index 96f65d817ea90cb785602cbfc224d3fcde8da50a..1f59f3215b6de6e44c7672189709174afe0217e6 100644 |
| --- a/Source/devtools/front_end/sdk/NetworkManager.js |
| +++ b/Source/devtools/front_end/sdk/NetworkManager.js |
| @@ -54,7 +54,8 @@ WebInspector.NetworkManager.EventTypes = { |
| RequestStarted: "RequestStarted", |
| RequestUpdated: "RequestUpdated", |
| RequestFinished: "RequestFinished", |
| - RequestUpdateDropped: "RequestUpdateDropped" |
| + RequestUpdateDropped: "RequestUpdateDropped", |
| + ResponseReceivedSecurityDetails: "ResponseReceivedSecurityDetails" |
| } |
| WebInspector.NetworkManager._MIMETypes = { |
| @@ -349,6 +350,42 @@ WebInspector.NetworkDispatcher.prototype = { |
| this._updateNetworkRequestWithResponse(networkRequest, response); |
| this._updateNetworkRequest(networkRequest); |
| + |
| + this._dispatchResponseReceivedSecurityDetails(requestId, response); |
| + }, |
| + |
| + /** |
| + * @param {!NetworkAgent.RequestId} requestId |
| + * @param {!NetworkAgent.Response} response |
| + */ |
| + _dispatchResponseReceivedSecurityDetails: function(requestId, response) |
| + { |
| + var eventData = {}; |
| + eventData.requestId = requestId; |
| + eventData.origin = WebInspector.ParsedURL.splitURLIntoPathComponents(response.url)[0]; |
| + eventData.securityState = response.securityState; |
| + if (response.securityDetails) { |
| + /** |
| + * @this {WebInspector.NetworkDispatcher} |
| + * @param {?Protocol.Error} error |
| + * @param {!NetworkAgent.CertificateDetails} certificateDetails |
| + */ |
| + function callback(error, certificateDetails) |
| + { |
| + if (error) { |
| + console.error("Unable to get certificate details from the browser (for certificate ID ", response.securityDetails.certificateId, "): ", error); |
|
dgozman
2015/08/19 20:22:30
Should we just report empty certificate details?
lgarron
2015/08/19 22:51:33
I didn't want to think about dealing with that cas
|
| + return; |
| + } |
| + eventData.securityDetails.certificateDetails = certificateDetails; |
| + this._manager.dispatchEventToListeners(WebInspector.NetworkManager.EventTypes.ResponseReceivedSecurityDetails, eventData); |
| + } |
| + |
| + eventData.securityDetails = response.securityDetails; |
| + this._manager._networkAgent.getCertificateDetails(response.securityDetails.certificateId, callback.bind(this)); |
| + |
|
dgozman
2015/08/19 20:22:30
nit: extra blank line
lgarron
2015/08/19 22:51:33
Removed.
|
| + } else { |
| + this._manager.dispatchEventToListeners(WebInspector.NetworkManager.EventTypes.ResponseReceivedSecurityDetails, eventData); |
| + } |
| }, |
| /** |