mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-12 14:20:14 +02:00
This reduces the amount of places where we need to specify the mozilla/frame-script environment. It does have the side effect of allowing those globals in the whole file, but that is what specifying the environment would do, and this is also for mochitest test files only. MozReview-Commit-ID: 1LLFbn6fFJR --HG-- extra : rebase_source : 82a6934d90bbbbd25f91b7b06bf4f9354e38865a
67 lines
2 KiB
JavaScript
67 lines
2 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
// Test that the fix for bug 687710 isn't too aggressive -- shentries which are
|
|
// cousins should be able to share bfcache entries.
|
|
|
|
var stateBackup = ss.getBrowserState();
|
|
|
|
var state = {entries: [
|
|
{
|
|
docIdentifier: 1,
|
|
url: "http://example.com?1",
|
|
triggeringPrincipal_base64,
|
|
children: [{ docIdentifier: 10,
|
|
url: "http://example.com?10",
|
|
triggeringPrincipal_base64 }]
|
|
},
|
|
{
|
|
docIdentifier: 1,
|
|
url: "http://example.com?1#a",
|
|
triggeringPrincipal_base64,
|
|
children: [{ docIdentifier: 10,
|
|
url: "http://example.com?10#aa",
|
|
triggeringPrincipal_base64 }]
|
|
}
|
|
]};
|
|
|
|
add_task(function* test() {
|
|
let tab = gBrowser.addTab("about:blank");
|
|
yield promiseTabState(tab, state);
|
|
yield ContentTask.spawn(tab.linkedBrowser, null, function() {
|
|
function compareEntries(i, j, history) {
|
|
let e1 = history.getEntryAtIndex(i, false)
|
|
.QueryInterface(Ci.nsISHEntry)
|
|
.QueryInterface(Ci.nsISHContainer);
|
|
|
|
let e2 = history.getEntryAtIndex(j, false)
|
|
.QueryInterface(Ci.nsISHEntry)
|
|
.QueryInterface(Ci.nsISHContainer);
|
|
|
|
ok(e1.sharesDocumentWith(e2),
|
|
`${i} should share doc with ${j}`);
|
|
is(e1.childCount, e2.childCount,
|
|
`Child count mismatch (${i}, ${j})`);
|
|
|
|
for (let c = 0; c < e1.childCount; c++) {
|
|
let c1 = e1.GetChildAt(c);
|
|
let c2 = e2.GetChildAt(c);
|
|
|
|
ok(c1.sharesDocumentWith(c2),
|
|
`Cousins should share documents. (${i}, ${j}, ${c})`);
|
|
}
|
|
}
|
|
|
|
let history = docShell.QueryInterface(Ci.nsIInterfaceRequestor)
|
|
.getInterface(Ci.nsISHistory);
|
|
|
|
is(history.count, 2, "history.count");
|
|
for (let i = 0; i < history.count; i++) {
|
|
for (let j = 0; j < history.count; j++) {
|
|
compareEntries(i, j, history);
|
|
}
|
|
}
|
|
});
|
|
|
|
ss.setBrowserState(stateBackup);
|
|
});
|