diff --git a/browser/components/sessionstore/src/SessionStorage.jsm b/browser/components/sessionstore/src/SessionStorage.jsm index 501a4d827c71..daca9c948792 100644 --- a/browser/components/sessionstore/src/SessionStorage.jsm +++ b/browser/components/sessionstore/src/SessionStorage.jsm @@ -18,8 +18,7 @@ XPCOMUtils.defineLazyModuleGetter(this, "console", // Returns the principal for a given |frame| contained in a given |docShell|. function getPrincipalForFrame(docShell, frame) { let ssm = Services.scriptSecurityManager; - let doc = frame && frame.document; - let uri = Services.io.newURI(doc.documentURI, null, null); + let uri = frame.document.documentURIObject; return ssm.getDocShellCodebasePrincipal(uri, docShell); } diff --git a/browser/components/sessionstore/test/browser_broadcast.js b/browser/components/sessionstore/test/browser_broadcast.js index 9cd7ad97bb04..8e3bda450451 100644 --- a/browser/components/sessionstore/test/browser_broadcast.js +++ b/browser/components/sessionstore/test/browser_broadcast.js @@ -59,12 +59,12 @@ add_task(function flush_on_duplicate() { "sessionStorage data has been flushed when duplicating tabs"); yield promiseTabRestored(tab2); - let {storage} = JSON.parse(ss.getTabState(tab2)); + gBrowser.removeTab(tab2) + let [{state: {storage}}] = JSON.parse(ss.getClosedTabData(window)); is(storage["http://example.com"].test, "on-duplicate", "sessionStorage data has been flushed when duplicating tabs"); gBrowser.removeTab(tab); - gBrowser.removeTab(tab2); }); /**