Index: third_party/WebKit/LayoutTests/http/tests/inspector/security/mixed-content-active-and-passive-reload.html |
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector/security/mixed-content-active-and-passive-reload.html b/third_party/WebKit/LayoutTests/http/tests/inspector/security/mixed-content-active-and-passive-reload.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..24aa45593d02d658b408a3aad3200c7b9d700697 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/http/tests/inspector/security/mixed-content-active-and-passive-reload.html |
@@ -0,0 +1,40 @@ |
+<html> |
+<head> |
+<script src="../inspector-test.js"></script> |
+<script src="../security-test.js"></script> |
+<script> |
+function test() |
+{ |
+ /** @type {!SecurityAgent.InsecureContentStatus} */ |
+ var insecureContentStatus = { ranMixedContent: true, displayedMixedContent: true, ranContentWithCertErrors: false, displayedContentWithCertErrors: false, ranInsecureContentStyle: SecurityAgent.SecurityState.Insecure, displayedInsecureContentStyle: SecurityAgent.SecurityState.Neutral }; |
+ |
+ InspectorTest.mainTarget.model(WebInspector.SecurityModel).dispatchEventToListeners(WebInspector.SecurityModel.Events.SecurityStateChanged, new WebInspector.PageSecurityState(SecurityAgent.SecurityState.Neutral, [], insecureContentStatus, true)); |
+ |
+ // At this point, the page has mixed content but no mixed requests have been recorded, so the user should be prompted to refresh. |
+ var explanations = WebInspector.SecurityPanel._instance()._mainView.contentElement.getElementsByClassName("security-explanation"); |
+ for (var i = 0; i < explanations.length; i++) |
+ InspectorTest.dumpDeepInnerHTML(explanations[i]); |
+ |
+ // Now simulate a refresh. |
+ |
+ InspectorTest.mainTarget.model(WebInspector.SecurityModel).dispatchEventToListeners(WebInspector.SecurityModel.Events.SecurityStateChanged, new WebInspector.PageSecurityState(SecurityAgent.SecurityState.Neutral, [], insecureContentStatus, true)); |
+ |
+ var passive = new WebInspector.NetworkRequest(InspectorTest.mainTarget, 0, "http://foo.test", "https://foo.test", 0, 0, null); |
+ passive.mixedContentType = "optionally-blockable"; |
+ InspectorTest.dispatchRequestFinished(passive); |
+ |
+ var active = new WebInspector.NetworkRequest(InspectorTest.mainTarget, 0, "http://foo.test", "https://foo.test", 0, 0, null); |
+ active.mixedContentType = "blockable"; |
+ InspectorTest.dispatchRequestFinished(active); |
+ |
+ var explanations = WebInspector.SecurityPanel._instance()._mainView.contentElement.getElementsByClassName("security-explanation"); |
+ for (var i = 0; i < explanations.length; i++) |
+ InspectorTest.dumpDeepInnerHTML(explanations[i]); |
+ InspectorTest.completeTest(); |
+} |
+</script> |
+</head> |
+<body onload="runTest()"> |
+<p>Tests that the active and pasive mixed content explanations prompt the user to refresh when there are no recorded requests, and link to the network panel when there are recorded requests.</p> |
+</body> |
+</html> |