diff options
Diffstat (limited to 'devtools/client/netmonitor/test/browser_net_security-tab-deselect.js')
-rw-r--r-- | devtools/client/netmonitor/test/browser_net_security-tab-deselect.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/devtools/client/netmonitor/test/browser_net_security-tab-deselect.js b/devtools/client/netmonitor/test/browser_net_security-tab-deselect.js new file mode 100644 index 0000000000..ac4750e564 --- /dev/null +++ b/devtools/client/netmonitor/test/browser_net_security-tab-deselect.js @@ -0,0 +1,67 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +/** + * Test that security details tab is no longer selected if an insecure request + * is selected. + */ + +add_task(async function () { + // This test needs to trigger http and https requests. + // Disable https-first to avoid blocking the HTTP request due to mixed content. + await pushPref("dom.security.https_first", false); + + const { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL, { + requestCount: 1, + }); + const { document, store, windowRequire } = monitor.panelWin; + const Actions = windowRequire("devtools/client/netmonitor/src/actions/index"); + + store.dispatch(Actions.batchEnable(false)); + + info("Performing requests."); + let wait = waitForNetworkEvents(monitor, 2); + const REQUEST_URLS = [ + "https://example.com" + CORS_SJS_PATH, + "http://example.com" + CORS_SJS_PATH, + ]; + await SpecialPowers.spawn( + tab.linkedBrowser, + [REQUEST_URLS], + async function (urls) { + for (const url of urls) { + content.wrappedJSObject.performRequests(1, url); + } + } + ); + await wait; + + info("Selecting secure request."); + wait = waitForDOM(document, ".tabs"); + EventUtils.sendMouseEvent( + { type: "mousedown" }, + document.querySelectorAll(".request-list-item")[0] + ); + await wait; + + info("Selecting security tab."); + EventUtils.sendMouseEvent( + { type: "mousedown" }, + document.querySelector("#security-tab") + ); + + info("Selecting insecure request."); + EventUtils.sendMouseEvent( + { type: "mousedown" }, + document.querySelectorAll(".request-list-item")[1] + ); + + ok( + document.querySelector("#headers-tab[aria-selected=true]"), + "Selected tab was reset when selected security tab was hidden." + ); + + return teardown(monitor); +}); |