| 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 63927d4d4080cb57572d6265fb4114e38034ef87..ec6d37d8781beed67952b583cbfee065b0660ef9 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/security/SecurityPanel.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/security/SecurityPanel.js
|
| @@ -553,7 +553,10 @@ WebInspector.SecurityMainView = function(panel)
|
| this._panel = panel;
|
|
|
| this._summarySection = this.contentElement.createChild("div", "security-summary");
|
| - this._securityExplanations = this.contentElement.createChild("div", "security-explanation-list");
|
| +
|
| + // Info explanations should appear after all others.
|
| + this._securityExplanationsMain = this.contentElement.createChild("div", "security-explanation-list");
|
| + this._securityExplanationsExtra = this.contentElement.createChild("div", "security-explanation-list security-explanations-extra");
|
|
|
| // Fill the security summary section.
|
| this._summarySection.createChild("div", "security-summary-section-title").textContent = WebInspector.UIString("Security Overview");
|
| @@ -572,12 +575,13 @@ WebInspector.SecurityMainView = function(panel)
|
|
|
| WebInspector.SecurityMainView.prototype = {
|
| /**
|
| + * @param {!Element} parent
|
| * @param {!SecurityAgent.SecurityStateExplanation} explanation
|
| * @return {!Element}
|
| */
|
| - _addExplanation: function(explanation)
|
| + _addExplanation: function(parent, explanation)
|
| {
|
| - var explanationSection = this._securityExplanations.createChild("div", "security-explanation");
|
| + var explanationSection = parent.createChild("div", "security-explanation");
|
| explanationSection.classList.add("security-explanation-" + explanation.securityState);
|
|
|
| explanationSection.createChild("div", "security-property").classList.add("security-property-" + explanation.securityState);
|
| @@ -627,9 +631,15 @@ WebInspector.SecurityMainView.prototype = {
|
|
|
| refreshExplanations: function()
|
| {
|
| - this._securityExplanations.removeChildren();
|
| - for (var explanation of this._explanations)
|
| - this._addExplanation(explanation);
|
| + this._securityExplanationsMain.removeChildren();
|
| + this._securityExplanationsExtra.removeChildren();
|
| + for (var explanation of this._explanations) {
|
| + if (explanation.securityState === SecurityAgent.SecurityState.Info) {
|
| + this._addExplanation(this._securityExplanationsExtra, explanation);
|
| + } else {
|
| + this._addExplanation(this._securityExplanationsMain, explanation);
|
| + }
|
| + }
|
|
|
| this._addMixedContentExplanations();
|
| },
|
| @@ -641,13 +651,13 @@ WebInspector.SecurityMainView.prototype = {
|
|
|
| if (this._mixedContentStatus && (this._mixedContentStatus.ranInsecureContent || this._mixedContentStatus.displayedInsecureContent)) {
|
| if (this._mixedContentStatus.ranInsecureContent)
|
| - this._addMixedContentExplanation(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);
|
| + 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._mixedContentStatus.displayedInsecureContentStyle, WebInspector.UIString("Mixed Content"), WebInspector.UIString("The site includes HTTP resources."), WebInspector.NetworkLogView.MixedContentFilterValues.Displayed, showDisplayedMixedContentInNetworkPanel);
|
| + 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(/** @type {!SecurityAgent.SecurityStateExplanation} */ ({
|
| + 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.")
|
| @@ -655,7 +665,7 @@ WebInspector.SecurityMainView.prototype = {
|
| }
|
|
|
| if (this._panel.filterRequestCount(WebInspector.NetworkLogView.MixedContentFilterValues.Blocked) > 0)
|
| - this._addMixedContentExplanation(SecurityAgent.SecurityState.Info, WebInspector.UIString("Blocked mixed content"), WebInspector.UIString("Your page requested insecure resources that were blocked."), WebInspector.NetworkLogView.MixedContentFilterValues.Blocked, showBlockedMixedContentInNetworkPanel);
|
| + this._addMixedContentExplanation(this._securityExplanationsExtra, SecurityAgent.SecurityState.Info, WebInspector.UIString("Blocked mixed content"), WebInspector.UIString("Your page requested insecure resources that were blocked."), WebInspector.NetworkLogView.MixedContentFilterValues.Blocked, showBlockedMixedContentInNetworkPanel);
|
|
|
| /**
|
| * @param {!Event} e
|
| @@ -701,13 +711,14 @@ WebInspector.SecurityMainView.prototype = {
|
| },
|
|
|
| /**
|
| + * @param {!Element} parent
|
| * @param {!SecurityAgent.SecurityState} securityState
|
| * @param {string} summary
|
| * @param {string} description
|
| * @param {!WebInspector.NetworkLogView.MixedContentFilterValues} filterKey
|
| * @param {!Function} networkFilterFn
|
| */
|
| - _addMixedContentExplanation: function(securityState, summary, description, filterKey, networkFilterFn)
|
| + _addMixedContentExplanation: function(parent, securityState, summary, description, filterKey, networkFilterFn)
|
| {
|
| var mixedContentExplanation = /** @type {!SecurityAgent.SecurityStateExplanation} */ ({
|
| "securityState": securityState,
|
| @@ -716,7 +727,7 @@ WebInspector.SecurityMainView.prototype = {
|
| });
|
|
|
| var filterRequestCount = this._panel.filterRequestCount(filterKey);
|
| - var requestsAnchor = this._addExplanation(mixedContentExplanation).createChild("div", "security-mixed-content link");
|
| + var requestsAnchor = this._addExplanation(parent, mixedContentExplanation).createChild("div", "security-mixed-content link");
|
| if (filterRequestCount > 0) {
|
| requestsAnchor.textContent = WebInspector.UIString("View %d request%s in Network Panel", filterRequestCount, (filterRequestCount > 1 ? "s" : ""));
|
| } else {
|
|
|