Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  browser_bug1328501.js   Sprache: JAVA

 
const HTML_URL =
  "http://mochi.test:8888/browser/docshell/test/browser/file_bug1328501.html";
const FRAME_URL =
  "http://mochi.test:8888/browser/docshell/test/browser/file_bug1328501_frame.html";
const FRAME_SCRIPT_URL =
  "chrome://mochitests/content/browser/docshell/test/browser/file_bug1328501_framescript.js";
add_task(async function testMultiFrameRestore() {
  await SpecialPowers.pushPrefEnv({
    set: [
      ["browser.navigation.requireUserInteraction"false],
      // Disable bfcache so that dummy_page.html doesn't enter there.
      // The actual test page does already prevent bfcache and the test
      // is just for http-on-opening-request handling in the child process.
      ["browser.sessionhistory.max_total_viewers", 0],
    ],
  });
  await BrowserTestUtils.withNewTab(
    { gBrowser, url: HTML_URL },
    async function (browser) {
      // Navigate 2 subframes and load about:blank.
      let browserLoaded = BrowserTestUtils.browserLoaded(browser);
      await SpecialPowers.spawn(
        browser,
        [FRAME_URL],
        async function (FRAME_URL) {
          function frameLoaded(frame) {
            frame.contentWindow.location = FRAME_URL;
            return new Promise(r => (frame.onload = r));
          }
          let frame1 = content.document.querySelector("#testFrame1");
          let frame2 = content.document.querySelector("#testFrame2");
          ok(frame1, "check found testFrame1");
          ok(frame2, "check found testFrame2");
          await frameLoaded(frame1);
          await frameLoaded(frame2);
          content.location = "dummy_page.html";
        }
      );
      await browserLoaded;

      // Load a frame script to query nsIDOMWindow on "http-on-opening-request",
      // which will force about:blank content viewers being created.
      browser.messageManager.loadFrameScript(FRAME_SCRIPT_URL, false);

      // The frame script also forwards frames-loaded.
      let framesLoaded = BrowserTestUtils.waitForMessage(
        browser.messageManager,
        "test:frames-loaded"
      );

      browser.goBack();
      await framesLoaded;
      // eslint-disable-next-line mozilla/no-arbitrary-setTimeout
      await new Promise(r => setTimeout(r, 1000));
      await SpecialPowers.spawn(browser, [FRAME_URL], FRAME_URL => {
        is(
          content.document.querySelector("#testFrame1").contentWindow.location
            .href,
          FRAME_URL
        );
        is(
          content.document.querySelector("#testFrame2").contentWindow.location
            .href,
          FRAME_URL
        );
      });
    }
  );
});

100%


¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*Bot Zugriff






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge