Bug 1345433 - Ensure tests load pass valid triggeringPrincipal.
MozReview-Commit-ID: LWcP7drDPwL
--- a/browser/components/extensions/test/browser/browser_ext_tabs_discarded.js
+++ b/browser/components/extensions/test/browser/browser_ext_tabs_discarded.js
@@ -1,14 +1,17 @@
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set sts=2 sw=2 et tw=80: */
/* global gBrowser SessionStore */
"use strict";
-let lazyTabState = {entries: [{url: "http://example.com/", title: "Example Domain"}]};
+const {Utils} = Cu.import("resource://gre/modules/sessionstore/Utils.jsm", {});
+const triggeringPrincipal_base64 = Utils.SERIALIZED_SYSTEMPRINCIPAL;
+
+let lazyTabState = {entries: [{url: "http://example.com/", triggeringPrincipal_base64, title: "Example Domain"}]};
add_task(async function test_discarded() {
let extension = ExtensionTestUtils.loadExtension({
manifest: {
"permissions": ["tabs"],
},
background: async function() {
--- a/browser/components/extensions/test/browser/browser_ext_tabs_lazy.js
+++ b/browser/components/extensions/test/browser/browser_ext_tabs_lazy.js
@@ -1,15 +1,18 @@
"use strict";
+const {Utils} = Cu.import("resource://gre/modules/sessionstore/Utils.jsm", {});
+const triggeringPrincipal_base64 = Utils.SERIALIZED_SYSTEMPRINCIPAL;
+
const SESSION = {
windows: [{
tabs: [
- {entries: [{url: "about:blank"}]},
- {entries: [{url: "https://example.com/"}]},
+ {entries: [{url: "about:blank", triggeringPrincipal_base64}]},
+ {entries: [{url: "https://example.com/", triggeringPrincipal_base64}]},
],
}],
};
add_task(async function() {
SessionStore.setBrowserState(JSON.stringify(SESSION));
const tab = gBrowser.tabs[1];
--- a/browser/components/sessionstore/test/browser_906076_lazy_tabs.js
+++ b/browser/components/sessionstore/test/browser_906076_lazy_tabs.js
@@ -1,32 +1,32 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
const TEST_STATE = {
windows: [{
tabs: [
- { entries: [{ url: "http://example.com" }] },
- { entries: [{ url: "http://example.com" }] },
- { entries: [{ url: "http://example.com" }] },
- { entries: [{ url: "http://example.com" }] },
- { entries: [{ url: "http://example.com" }] },
- { entries: [{ url: "http://example.com" }] },
- { entries: [{ url: "http://example.com" }] },
- { entries: [{ url: "http://example.com" }] },
- { entries: [{ url: "http://example.com" }] },
- { entries: [{ url: "http://example.com" }] },
+ { entries: [{ url: "http://example.com", triggeringPrincipal_base64 }] },
+ { entries: [{ url: "http://example.com", triggeringPrincipal_base64 }] },
+ { entries: [{ url: "http://example.com", triggeringPrincipal_base64 }] },
+ { entries: [{ url: "http://example.com", triggeringPrincipal_base64 }] },
+ { entries: [{ url: "http://example.com", triggeringPrincipal_base64 }] },
+ { entries: [{ url: "http://example.com", triggeringPrincipal_base64 }] },
+ { entries: [{ url: "http://example.com", triggeringPrincipal_base64 }] },
+ { entries: [{ url: "http://example.com", triggeringPrincipal_base64 }] },
+ { entries: [{ url: "http://example.com", triggeringPrincipal_base64 }] },
+ { entries: [{ url: "http://example.com", triggeringPrincipal_base64 }] },
]
}]
};
const TEST_STATE_2 = {
windows: [{
tabs: [
- { entries: [{ url: "about:robots" }]
+ { entries: [{ url: "about:robots", triggeringPrincipal_base64 }]
},
{ entries: [],
userTypedValue: "http://example.com",
userTypedClear: 1
}
]
}]
};
--- a/browser/components/sessionstore/test/browser_tab_label_during_restore.js
+++ b/browser/components/sessionstore/test/browser_tab_label_during_restore.js
@@ -35,20 +35,20 @@ add_task(async function() {
};
}
info("setting test browser state");
let browserLoadedPromise = BrowserTestUtils.firstBrowserLoaded(window, false);
await promiseBrowserState({
windows: [{
tabs: [
- { entries: [{ url: REMOTE_URL }] },
- { entries: [{ url: ABOUT_ROBOTS_URI }] },
- { entries: [{ url: REMOTE_URL }] },
- { entries: [{ url: NO_TITLE_URL }] },
+ { entries: [{ url: REMOTE_URL, triggeringPrincipal_base64 }] },
+ { entries: [{ url: ABOUT_ROBOTS_URI, triggeringPrincipal_base64 }] },
+ { entries: [{ url: REMOTE_URL, triggeringPrincipal_base64 }] },
+ { entries: [{ url: NO_TITLE_URL, triggeringPrincipal_base64 }] },
]
}]
});
let [tab1, tab2, tab3, tab4] = gBrowser.tabs;
is(gBrowser.selectedTab, tab1, "first tab is selected");
await browserLoadedPromise;
const REMOTE_TITLE = tab1.linkedBrowser.contentTitle;
--- a/devtools/client/scratchpad/test/browser_scratchpad_sessions.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_sessions.js
@@ -1,20 +1,20 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
const {Utils} = Cu.import("resource://gre/modules/sessionstore/Utils.jsm", {});
-const triggeringPrincipalBase64 = Utils.SERIALIZED_SYSTEMPRINCIPAL;
+const triggeringPrincipal_base64 = Utils.SERIALIZED_SYSTEMPRINCIPAL;
const ss = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore);
const testState = {
windows: [{
tabs: [
- { entries: [{ url: "about:blank", triggeringPrincipalBase64 }] },
+ { entries: [{ url: "about:blank", triggeringPrincipal_base64 }] },
]
}],
scratchpads: [
{ text: "text1", executionContext: 1 },
{ text: "", executionContext: 2, filename: "test.js" }
]
};
--- a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/SessionTest.java
+++ b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/SessionTest.java
@@ -51,24 +51,27 @@ public abstract class SessionTest extend
public T[] getItems() {
return mItems;
}
}
protected class PageInfo {
private final String url;
private final String title;
+ private final String triggeringPrincipal_base64;
public PageInfo(String key) {
if (key.startsWith("about:")) {
url = key;
} else {
url = getPage(key);
}
title = key;
+ triggeringPrincipal_base64 =
+ "SmIS26zLEdO3ZQBgsLbOywAAAAAAAAAAwAAAAAAAAEY=";
}
}
protected class SessionTab extends SessionObject<PageInfo> {
public SessionTab(int index, PageInfo... items) {
super(index, items);
}
}
@@ -266,16 +269,18 @@ public abstract class SessionTest extend
final SessionTab sessionTab = sessionTabs[i];
final PageInfo[] pages = sessionTab.getItems();
for (int j = 0; j < pages.length; j++) {
final PageInfo page = pages[j];
final JSONObject entry = new JSONObject();
entry.put("url", page.url);
entry.put("title", page.title);
+ entry.put("triggeringPrincipal_base64",
+ page.triggeringPrincipal_base64);
entries.put(entry);
}
tab.put("entries", entries);
tab.put("index", sessionTab.getIndex() + 1);
tabs.put(tab);
}
@@ -358,22 +363,27 @@ public abstract class SessionTest extend
final PageInfo[] pages = sessionTab.getItems();
asserter.is(index, sessionTab.getIndex() + 1, "selected page index matches");
for (int j = 0; j < entries.length(); j++) {
final JSONObject entry = entries.getJSONObject(j);
final String url = entry.getString("url");
final String title = entry.optString("title");
+ final String principal =
+ entry.getString("triggeringPrincipal_base64");
final PageInfo page = pages[j];
asserter.is(url, page.url, "URL in JSON matches session URL");
if (!page.url.startsWith("about:")) {
asserter.is(title, page.title, "title in JSON matches session title");
}
+
+ asserter.is(principal, page.triggeringPrincipal_base64,
+ "principal in JSON matches session principal");
}
}
} catch (JSONException e) {
asserter.ok(false, "JSON exception", Log.getStackTraceString(e));
}
}
/**