Index: third_party/WebKit/Source/devtools/front_end/security/SecurityPanel.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/security/SecurityPanel.js b/third_party/WebKit/Source/devtools/front_end/security/SecurityPanel.js |
index 331c0a443a610698e7d8edc5bcda17cba75e733b..616e1996a78d168d55ce6b981ccceb5afe3e069e 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/security/SecurityPanel.js |
+++ b/third_party/WebKit/Source/devtools/front_end/security/SecurityPanel.js |
@@ -63,13 +63,13 @@ WebInspector.SecurityPanel.prototype = { |
/** |
* @param {!SecurityAgent.SecurityState} newSecurityState |
* @param {!Array<!SecurityAgent.SecurityStateExplanation>} explanations |
- * @param {?SecurityAgent.MixedContentStatus} mixedContentStatus |
+ * @param {?SecurityAgent.InsecureContentStatus} insecureContentStatus |
* @param {boolean} schemeIsCryptographic |
*/ |
- _updateSecurityState: function(newSecurityState, explanations, mixedContentStatus, schemeIsCryptographic) |
+ _updateSecurityState: function(newSecurityState, explanations, insecureContentStatus, schemeIsCryptographic) |
{ |
this._sidebarMainViewElement.setSecurityState(newSecurityState); |
- this._mainView.updateSecurityState(newSecurityState, explanations, mixedContentStatus, schemeIsCryptographic); |
+ this._mainView.updateSecurityState(newSecurityState, explanations, insecureContentStatus, schemeIsCryptographic); |
}, |
/** |
@@ -80,9 +80,9 @@ WebInspector.SecurityPanel.prototype = { |
var data = /** @type {!WebInspector.PageSecurityState} */ (event.data); |
var securityState = /** @type {!SecurityAgent.SecurityState} */ (data.securityState); |
var explanations = /** @type {!Array<!SecurityAgent.SecurityStateExplanation>} */ (data.explanations); |
- var mixedContentStatus = /** @type {?SecurityAgent.MixedContentStatus} */ (data.mixedContentStatus); |
+ var insecureContentStatus = /** @type {?SecurityAgent.InsecureContentStatus} */ (data.insecureContentStatus); |
var schemeIsCryptographic = /** @type {boolean} */ (data.schemeIsCryptographic); |
- this._updateSecurityState(securityState, explanations, mixedContentStatus, schemeIsCryptographic); |
+ this._updateSecurityState(securityState, explanations, insecureContentStatus, schemeIsCryptographic); |
}, |
selectAndSwitchToMainView: function() |
@@ -608,10 +608,10 @@ WebInspector.SecurityMainView.prototype = { |
/** |
* @param {!SecurityAgent.SecurityState} newSecurityState |
* @param {!Array<!SecurityAgent.SecurityStateExplanation>} explanations |
- * @param {?SecurityAgent.MixedContentStatus} mixedContentStatus |
+ * @param {?SecurityAgent.InsecureContentStatus} insecureContentStatus |
* @param {boolean} schemeIsCryptographic |
*/ |
- updateSecurityState: function(newSecurityState, explanations, mixedContentStatus, schemeIsCryptographic) |
+ updateSecurityState: function(newSecurityState, explanations, insecureContentStatus, schemeIsCryptographic) |
{ |
// Remove old state. |
// It's safe to call this even when this._securityState is undefined. |
@@ -629,11 +629,11 @@ WebInspector.SecurityMainView.prototype = { |
this._summaryText.textContent = summaryExplanationStrings[this._securityState]; |
this._explanations = explanations, |
- this._mixedContentStatus = mixedContentStatus; |
+ this._insecureContentStatus = insecureContentStatus; |
this._schemeIsCryptographic = schemeIsCryptographic; |
- this._panel.setRanInsecureContentStyle(mixedContentStatus.ranInsecureContentStyle); |
- this._panel.setDisplayedInsecureContentStyle(mixedContentStatus.displayedInsecureContentStyle); |
+ this._panel.setRanInsecureContentStyle(insecureContentStatus.ranInsecureContentStyle); |
+ this._panel.setDisplayedInsecureContentStyle(insecureContentStatus.displayedInsecureContentStyle); |
this.refreshExplanations(); |
}, |
@@ -651,6 +651,16 @@ WebInspector.SecurityMainView.prototype = { |
} |
this._addMixedContentExplanations(); |
+ this._addContentWithCertErrorsExplanations(); |
+ |
+ // If all resources were served securely, add a Secure explanation. |
+ if (this._schemeIsCryptographic && this._insecureContentStatus && (!this._insecureContentStatus.displayedMixedContent && !this._insecureContentStatus.ranMixedContent && !this._insecureContentStatus.displayedContentWithCertErrors && !this._insecureContentStatus.ranContentWithCertErrors)) { |
+ this._addExplanation(this._securityExplanationsMain, /** @type {!SecurityAgent.SecurityStateExplanation} */ ({ |
+ "securityState": SecurityAgent.SecurityState.Secure, |
+ "summary": WebInspector.UIString("Secure Resources"), |
+ "description": WebInspector.UIString("All resources on this page are served securely.") |
+ })); |
+ } |
}, |
_addMixedContentExplanations: function() |
@@ -658,19 +668,11 @@ WebInspector.SecurityMainView.prototype = { |
if (!this._schemeIsCryptographic) |
return; |
- if (this._mixedContentStatus && (this._mixedContentStatus.ranInsecureContent || this._mixedContentStatus.displayedInsecureContent)) { |
- if (this._mixedContentStatus.ranInsecureContent) |
- this._addMixedContentExplanation(this._securityExplanationsMain, this._mixedContentStatus.ranInsecureContentStyle, WebInspector.UIString("Active Mixed Content"), WebInspector.UIString("You have recently allowed insecure content (such as scripts or iframes) to run on this site."), WebInspector.NetworkLogView.MixedContentFilterValues.BlockOverridden, showBlockOverriddenMixedContentInNetworkPanel); |
- if (this._mixedContentStatus.displayedInsecureContent) |
- this._addMixedContentExplanation(this._securityExplanationsMain, this._mixedContentStatus.displayedInsecureContentStyle, WebInspector.UIString("Mixed Content"), WebInspector.UIString("The site includes HTTP resources."), WebInspector.NetworkLogView.MixedContentFilterValues.Displayed, showDisplayedMixedContentInNetworkPanel); |
- } |
- |
- if (this._mixedContentStatus && (!this._mixedContentStatus.displayedInsecureContent && !this._mixedContentStatus.ranInsecureContent)) { |
- this._addExplanation(this._securityExplanationsMain, /** @type {!SecurityAgent.SecurityStateExplanation} */ ({ |
- "securityState": SecurityAgent.SecurityState.Secure, |
- "summary": WebInspector.UIString("Secure Resources"), |
- "description": WebInspector.UIString("All resources on this page are served securely.") |
- })); |
+ if (this._insecureContentStatus && (this._insecureContentStatus.ranMixedContent || this._insecureContentStatus.displayedMixedContent)) { |
+ if (this._insecureContentStatus.ranMixedContent) |
+ this._addMixedContentExplanation(this._securityExplanationsMain, this._insecureContentStatus.ranInsecureContentStyle, WebInspector.UIString("Active Mixed Content"), WebInspector.UIString("You have recently allowed insecure content (such as scripts or iframes) to run on this site."), WebInspector.NetworkLogView.MixedContentFilterValues.BlockOverridden, showBlockOverriddenMixedContentInNetworkPanel); |
+ if (this._insecureContentStatus.displayedMixedContent) |
+ this._addMixedContentExplanation(this._securityExplanationsMain, this._insecureContentStatus.displayedInsecureContentStyle, WebInspector.UIString("Mixed Content"), WebInspector.UIString("The site includes HTTP resources."), WebInspector.NetworkLogView.MixedContentFilterValues.Displayed, showDisplayedMixedContentInNetworkPanel); |
} |
if (this._panel.filterRequestCount(WebInspector.NetworkLogView.MixedContentFilterValues.Blocked) > 0) |
@@ -747,6 +749,32 @@ WebInspector.SecurityMainView.prototype = { |
requestsAnchor.addEventListener("click", networkFilterFn); |
}, |
+ _addContentWithCertErrorsExplanations: function() |
+ { |
+ if (!this._schemeIsCryptographic) |
+ return; |
+ |
+ if (!this._insecureContentStatus) |
+ return; |
+ |
+ if (this._insecureContentStatus.ranContentWithCertErrors) { |
+ this._addExplanation(this._securityExplanationsMain, /** @type {!SecurityAgent.SecurityStateExplanation} */ ({ |
+ "securityState": this._insecureContentStatus.ranInsecureContentStyle, |
+ "summary": WebInspector.UIString("Active content with certificate errors"), |
+ "description": WebInspector.UIString("You have recently allowed content loaded with certificate errors (such as scripts or iframes) to run on this site.") |
+ })); |
+ } |
+ |
+ if (this._insecureContentStatus.displayedContentWithCertErrors) { |
+ this._addExplanation(this._securityExplanationsMain, /** @type {!SecurityAgent.SecurityStateExplanation} */ ({ |
+ "securityState": this._insecureContentStatus.displayedInsecureContentStyle, |
+ "summary": WebInspector.UIString("Content with certificate errors"), |
+ "description": WebInspector.UIString("This site includes resources that were loaded with certificate errors.") |
+ })); |
+ } |
+ }, |
+ |
+ |
__proto__: WebInspector.VBox.prototype |
} |