products/Sources/formale Sprachen/C/Postfix/src/sendmail/   (Firefox Browser Version 153.0.1©)  Datei vom 24.8.2025 mit Größe 53 kB image not shown  

 browser_bug2004165.js

  Interaktion und
PortierbarkeitJAVA
 

/* Any copyright is dedicated to the Public Domain.
   https://creativecommons.org/publicdomain/zero/1.0/ */


"use strict";

const { TabStateFlusher } = ChromeUtils.importESModule(
  "resource:///modules/sessionstore/TabStateFlusher.sys.mjs"
);

// Go to example.com, do window.open() to obtain an initial about:blank with content principal
const ABOUT_BLANK_FROM_CONTENT_STATE = {
  entries: [
    {
      url: "about:blank",
      principalToInherit_base64: '{"1":{"0":"https://example.com/"}}',
      triggeringPrincipal_base64: '{"1":{"0":"https://example.com/"}}',
    },
  ],
  index: 1,
};

// Ensure ABOUT_BLANK_FROM_CONTENT_STATE matches a tab opened from a content document
add_task(async function test_about_blank_tab_state_matches_fixture() {
  const openerTab = await BrowserTestUtils.openNewForegroundTab(
    gBrowser,
    "https://example.com/"
  );

  const newTabPromise = BrowserTestUtils.waitForNewTab(
    gBrowser,
    "about:blank",
    true
  );
  await SpecialPowers.spawn(openerTab.linkedBrowser, [], () => {
    content.open("about:blank");
  });
  const aboutBlankTab = await newTabPromise;

  await TabStateFlusher.flush(aboutBlankTab.linkedBrowser);
  const state = JSON.parse(SessionStore.getTabState(aboutBlankTab));

  is(state.entries.length, 1"Got one SH entry");
  const actualEntryFixture = {
    url: state.entries[0].url,
    principalToInherit_base64: state.entries[0].principalToInherit_base64,
    triggeringPrincipal_base64: state.entries[0].triggeringPrincipal_base64,
  };
  Assert.deepEqual(
    actualEntryFixture,
    ABOUT_BLANK_FROM_CONTENT_STATE.entries[0]
  );

  BrowserTestUtils.removeTab(aboutBlankTab);
  BrowserTestUtils.removeTab(openerTab);
});

// Crashtest for bug 2004165 and bug 2005202
add_task(
  async function test_restore_initial_about_blank_with_content_principal() {
    // Need to restore a whole window such that that restoring the about:blank
    // counts as the initial load and hits the synchronous path.
    const win = await BrowserTestUtils.openNewBrowserWindow();

    // browserLoaded doesn't work reliably for a synchronous load in a different process
    let restored = BrowserTestUtils.waitForEvent(
      win.gBrowser.tabContainer,
      "SSTabRestored"
    );

    const windowState = {
      windows: [
        {
          tabs: [ABOUT_BLANK_FROM_CONTENT_STATE],
          selected: 1,
        },
      ],
      selectedWindow: 1,
    };
    SessionStore.setWindowState(win, JSON.stringify(windowState), true);
    await restored;

    ok(true"Did not crash");

    const tab = win.gBrowser.selectedTab;

    // Sanity check the restored tab
    await SpecialPowers.spawn(tab.linkedBrowser, [], function () {
      let principal = content.document.nodePrincipal;
      // The crash occured in the synchronous load path, so verify it was taken.
      // That should be equivalent to the document being initial and committed.
      const isInitialCommitted =
        content.document.isInitialDocument &&
        !content.document.isUncommittedInitialDocument;
      // XXX The initial fix for bug 2004165 is to skip the sync path. So
      // assert the opposite till a better fix is implemented. (bug 2005205)
      Assert.ok(
        !isInitialCommitted,
        "about:blank was not restored as initial document"
      );
      Assert.ok(
        principal.isContentPrincipal,
        "Restored about:blank document has a content principal"
      );
      Assert.equal(
        principal.origin,
        "https://example.com",
        "Restored about:blank inherits the origin from https://example.com/"
      );
    });

    BrowserTestUtils.removeTab(tab);
  }
);

Messung V0.5 in Prozent
C=91 H=95 G=92

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.23Angebot  (Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-08-25) ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

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 und die Messung sind noch experimentell.