/** * Helper function for charset tests. It loads |url| in a new tab, * runs |check|.
*/ function runCharsetCheck(url, check) {
waitForExplicitFinish();
async function pushState(url, frameId) {
info(
`Doing a pushState, expecting to load ${url} ${
frameId ? "in an iframe" : ""
}`
);
let browser = gBrowser.selectedBrowser;
let bc = browser.browsingContext; if (frameId) {
bc = await SpecialPowers.spawn(bc, [frameId], function (id) { return content.document.getElementById(id).browsingContext;
});
}
let loaded = BrowserTestUtils.waitForLocationChange(gBrowser, url);
await SpecialPowers.spawn(bc, [url], function (url) {
content.history.pushState({}, "", url);
});
await loaded;
info(`Loaded ${url} ${frameId ? "in an iframe" : ""}`);
}
async function loadURI(url) {
info(`Doing a top-level loadURI, expecting to load ${url}`);
let browser = gBrowser.selectedBrowser;
let loaded = BrowserTestUtils.browserLoaded(browser, false, url);
BrowserTestUtils.startLoadingURIString(browser, url);
await loaded;
info(`Loaded ${url}`);
}
async function followLink(url, frameId) {
info(
`Creating and following a link to ${url} ${frameId ? "in an iframe" : ""}`
);
let browser = gBrowser.selectedBrowser;
let bc = browser.browsingContext; if (frameId) {
bc = await SpecialPowers.spawn(bc, [frameId], function (id) { return content.document.getElementById(id).browsingContext;
});
}
let loaded = BrowserTestUtils.browserLoaded(browser, !!frameId, url);
await SpecialPowers.spawn(bc, [url], function (url) {
let a = content.document.createElement("a");
a.href = url;
content.document.body.appendChild(a);
a.click();
});
await loaded;
info(`Loaded ${url} ${frameId ? "in an iframe" : ""}`);
}
async function goForward(url, useFrame = false) {
info(
`Clicking the forward button, expecting to load ${url} ${
useFrame ? "in an iframe" : ""
}`
);
let loaded = BrowserTestUtils.waitForLocationChange(gBrowser, url);
let forwardButton = document.getElementById("forward-button");
forwardButton.click();
await loaded;
info(`Loaded ${url} ${useFrame ? "in an iframe" : ""}`);
}
async function goBack(url, useFrame = false) {
info(
`Clicking the back button, expecting to load ${url} ${
useFrame ? "in an iframe" : ""
}`
);
let loaded = BrowserTestUtils.waitForLocationChange(gBrowser, url);
let backButton = document.getElementById("back-button");
backButton.click();
await loaded;
info(`Loaded ${url} ${useFrame ? "in an iframe" : ""}`);
}
function assertBackForwardState(canGoBack, canGoForward) {
let backButton = document.getElementById("back-button");
let forwardButton = document.getElementById("forward-button");
async function assertMenulist(entries) { // Wait for the session data to be flushed before continuing the test
await new Promise(resolve =>
SessionStore.getSessionHistory(gBrowser.selectedTab, resolve)
);
let backButton = document.getElementById("back-button");
let contextMenu = document.getElementById("backForwardMenu");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.