blob: 4dd8c8cd439281f3579933d6c22bc0ea7e27f8b0 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function() {
TestRunner.addResult(`Tests that the Main Origin is assigned even if there is no matching Request.\n`);
await TestRunner.loadModule('security_test_runner');
await TestRunner.showPanel('security');
TestRunner.mainTarget.model(Security.SecurityModel)
.dispatchEventToListeners(
Security.SecurityModel.Events.VisibleSecurityStateChanged,
new Security.PageVisibleSecurityState(
Protocol.Security.SecurityState.Neutral, /* certificateSecurityState= */ null,
/* safetyTipInfo= */ null, /* securityStateIssueIds= */ ['scheme-is-not-cryptographic']));
const page_url = TestRunner.resourceTreeModel.mainFrame.url;
const page_origin = Common.ParsedURL.extractOrigin(page_url);
TestRunner.addResult('Page origin: ' + page_origin);
// Fire a Main Frame Navigation event without firing a NetworkRequest first.
TestRunner.mainTarget.model(SDK.ResourceTreeModel)
.dispatchEventToListeners(
SDK.ResourceTreeModel.Events.MainFrameNavigated, TestRunner.resourceTreeModel.mainFrame);
// Validate that this set the MainOrigin in the sidebar
const detectedMainOrigin = Security.SecurityPanel._instance()._sidebarTree._mainOrigin;
TestRunner.addResult('Detected main origin: ' + detectedMainOrigin);
// Send subdownload resource requests to other origins.
const request1 = new SDK.NetworkRequest(0, 'https://foo.test/favicon.ico', page_url, 0, 0, null);
SecurityTestRunner.dispatchRequestFinished(request1);
const request2 = new SDK.NetworkRequest(0, 'https://bar.test/bar.css', page_url, 0, 0, null);
SecurityTestRunner.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(0, detectedMainOrigin + '/favicon.ico', page_url, 0, 0, null);
SecurityTestRunner.dispatchRequestFinished(request3);
SecurityTestRunner.dumpSecurityPanelSidebarOrigins();
TestRunner.completeTest();
})();