| Index: third_party/WebKit/LayoutTests/http/tests/inspector/security/main-origin-assigned-despite-request-missing.html
 | 
| diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector/security/main-origin-assigned-despite-request-missing.html b/third_party/WebKit/LayoutTests/http/tests/inspector/security/main-origin-assigned-despite-request-missing.html
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..bf22953812baee3adf2cba6ebc6b6aa11b3ee13e
 | 
| --- /dev/null
 | 
| +++ b/third_party/WebKit/LayoutTests/http/tests/inspector/security/main-origin-assigned-despite-request-missing.html
 | 
| @@ -0,0 +1,38 @@
 | 
| +<html>
 | 
| +<head>
 | 
| +<script src="../inspector-test.js"></script>
 | 
| +<script src="../security-test.js"></script>
 | 
| +<script>
 | 
| +  function test()
 | 
| +  {
 | 
| +    //** @type {!Protocol.Security.InsecureContentStatus} */
 | 
| +    var insecureContentStatus = { ranMixedContent: false, displayedMixedContent: false, ranContentWithCertErrors: false, displayedContentWithCertErrors: false, ranInsecureContentStyle: Protocol.Security.SecurityState.Insecure, displayedInsecureContentStyle: Protocol.Security.SecurityState.Neutral };
 | 
| +    InspectorTest.mainTarget.model(Security.SecurityModel).dispatchEventToListeners(Security.SecurityModel.Events.SecurityStateChanged, new Security.PageSecurityState(Protocol.Security.SecurityState.Secure, true, [], insecureContentStatus, null));
 | 
| +
 | 
| +    const page_url = InspectorTest.resourceTreeModel.mainFrame.url;
 | 
| +    const page_origin =  Common.ParsedURL.extractOrigin(page_url);
 | 
| +    InspectorTest.addResult("Page origin: " + page_origin);
 | 
| +    // Fire a Main Frame Navigation event without firing a NetworkRequest first.
 | 
| +    InspectorTest.mainTarget.model(SDK.ResourceTreeModel).dispatchEventToListeners(SDK.ResourceTreeModel.Events.MainFrameNavigated, InspectorTest.resourceTreeModel.mainFrame);
 | 
| +    // Validate that this set the MainOrigin in the sidebar
 | 
| +    const detectedMainOrigin = Security.SecurityPanel._instance()._sidebarTree._mainOrigin;
 | 
| +    InspectorTest.addResult("Detected main origin: " + detectedMainOrigin);
 | 
| +
 | 
| +    // Send subdownload resource requests to other origins.
 | 
| +    const request1 = new SDK.NetworkRequest(InspectorTest.mainTarget, 0, "https://foo.test/favicon.ico", page_url, 0, 0, null);
 | 
| +    InspectorTest.dispatchRequestFinished(request1);
 | 
| +    const request2 = new SDK.NetworkRequest(InspectorTest.mainTarget, 0, "https://bar.test/bar.css", page_url, 0, 0, null);
 | 
| +    InspectorTest.dispatchRequestFinished(request2);
 | 
| +
 | 
| +    // Send one request to the Same Origin as the original page to ensure it appears in the group.
 | 
| +    const request3 = new SDK.NetworkRequest(InspectorTest.mainTarget, 0, detectedMainOrigin + "/favicon.ico", page_url, 0, 0, null);
 | 
| +    InspectorTest.dispatchRequestFinished(request3);
 | 
| +    InspectorTest.dumpSecurityPanelSidebarOrigins();
 | 
| +    InspectorTest.completeTest();
 | 
| +}
 | 
| +</script>
 | 
| +</head>
 | 
| +<body onload="runTest()">
 | 
| +<p>Tests that the Main Origin is assigned even if there is no matching Request.</p>
 | 
| +</body>
 | 
| +</html>
 | 
| 
 |