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..f22766c046366961a1f2419f31b32f73b6786ab3 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,43 @@ 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); |
+ return; |
+ } else { |
dgozman
2015/08/19 01:51:35
No need for |else| because of return.
lgarron
2015/08/19 02:24:24
Done.
|
+ 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)); |
+ |
+ } else { |
+ this._manager.dispatchEventToListeners(WebInspector.NetworkManager.EventTypes.ResponseReceivedSecurityDetails, eventData); |
+ } |
}, |
/** |