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


Quellcode-Bibliothek bug449780_window.xhtml   Sprache: unbekannt

 
Columbo aufrufen.xhtml Download desUnknown {[0] [0] [0]}Datei anzeigen

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<window title="Mozilla Bug 449780" onload="setTimeout(doTheTest, 0);"
  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <hbox id="parent">
  </hbox>

  <!-- test code goes here -->
  <script type="application/javascript" src="chrome://mochikit/content/chrome-harness.js" />
  <script type="application/javascript" src="docshell_helpers.js" />
  <script type="application/javascript"><![CDATA[
    function addBrowser(parent, width, height) {
      var b =
        document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "browser");
      b.setAttribute("type", "content");
      b.setAttribute("id", "content");
      b.setAttribute("width", width);
      b.setAttribute("height", height);
      b.setAttribute("remote", SpecialPowers.Services.appinfo.sessionHistoryInParent);
      if (SpecialPowers.Services.appinfo.sessionHistoryInParent) {
        b.setAttribute("maychangeremoteness", "true");
      }
      document.getElementById("parent").appendChild(b);
      return b;
    }

    let f1 = addBrowser("parent", 300, 200);

    /** Test for Bug 449780 */
    var doc1 = "data:text/html,<html><body>This is a test</body></html>";
    var doc2 = "data:text/html,<html><body>This is a second test</body></html>";

    async function doTheTest() {
      await promisePageNavigation({
        uri: doc1,
      });
      let { origDOM, modifiedDOM } = await SpecialPowers.spawn(f1, [], () => {
        var origDOM = content.document.documentElement.innerHTML;
        content.document.body.textContent = "Modified";
        var modifiedDOM = content.document.documentElement.innerHTML;
        isnot(origDOM, modifiedDOM, "DOM should be different");
        return { origDOM, modifiedDOM };
      });

      await promisePageNavigation({
        uri: doc2,
      });

      await promisePageNavigation({
        back: true,
      });

      await SpecialPowers.spawn(f1, [modifiedDOM], (modifiedDOM) => {
        is(content.document.documentElement.innerHTML, modifiedDOM, "Should have been bfcached");
      });

      await promisePageNavigation({
        forward: true,
      });

      f1.removeAttribute("id");
      let f2 = addBrowser("parent", 300, 200);

      // Make sure there's a document or the swap will fail.
      await promisePageNavigation({
        uri: "about:blank",
      });

      f1.swapDocShells(f2);

      await promisePageNavigation({
        back: true,
      });

      await SpecialPowers.spawn(f2, [origDOM], (origDOM) => {
        is(content.document.documentElement.innerHTML, origDOM, "Should not have been bfcached");
      });

      finish();
    }
  ]]></script>
</window>

[ 0.48Quellennavigators  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


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