Blame dom/base/test/test_declare_stylesheet_obsolete.html

Packit f0b94e
Packit f0b94e
<html>
Packit f0b94e
Packit f0b94e
https://bugzilla.mozilla.org/show_bug.cgi?id=713564
Packit f0b94e
-->
Packit f0b94e
<head>
Packit f0b94e
  <meta charset="utf-8">
Packit f0b94e
  <title>Test for Bug 713564</title>
Packit f0b94e
  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
Packit f0b94e
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
Packit f0b94e
Packit f0b94e
  
Packit f0b94e
  <link rel="stylesheet" type="text/css" href="variable_style_sheet.sjs"/>
Packit f0b94e
Packit f0b94e
  <script type="application/javascript">
Packit f0b94e
Packit f0b94e
  function insertLinkToVarSSAndRun(callback) {
Packit f0b94e
    var ss = document.createElement("link");
Packit f0b94e
    ss.rel = "stylesheet";
Packit f0b94e
    ss.type = "text/css";
Packit f0b94e
    ss.href = "variable_style_sheet.sjs";
Packit f0b94e
    document.getElementsByTagName("head")[0].appendChild(ss);
Packit f0b94e
    ss.addEventListener("load", callback);
Packit f0b94e
  }
Packit f0b94e
Packit f0b94e
  /** Test for Bug 713564 **/
Packit f0b94e
Packit f0b94e
  // Then you link to that sheet, remove the link from the DOM, insert a new link to
Packit f0b94e
  // the same url and check that there was no new access, then call our new method,
Packit f0b94e
  // insert _another_ <link> to the same url, and check that this time we hit the
Packit f0b94e
  // server.
Packit f0b94e
  SimpleTest.waitForExplicitFinish();
Packit f0b94e
Packit f0b94e
  function do_test() {
Packit f0b94e
    var var_sheet = document.getElementsByTagName("link")[1];
Packit f0b94e
    var head = document.getElementsByTagName("head")[0];
Packit f0b94e
    var content = document.getElementById("content");
Packit f0b94e
    var var_sheet_url = var_sheet.href;
Packit f0b94e
Packit f0b94e
    var previousBgColor = window.getComputedStyle(content).
Packit f0b94e
                                 getPropertyValue("background-color");
Packit f0b94e
    var_sheet.remove();
Packit f0b94e
    insertLinkToVarSSAndRun(function() {
Packit f0b94e
      is(window.getComputedStyle(content).getPropertyValue("background-color"),
Packit f0b94e
         previousBgColor,
Packit f0b94e
         "Sheet should still be the same.");
Packit f0b94e
Packit f0b94e
      // Obsolete sheet
Packit f0b94e
      try {
Packit f0b94e
        SpecialPowers.wrap(document).obsoleteSheet(var_sheet_url);
Packit f0b94e
      } catch (e) {
Packit f0b94e
        ok(false, "obsoleteSheet should not raise an error on valid URL.");
Packit f0b94e
      }
Packit f0b94e
      insertLinkToVarSSAndRun(function() {
Packit f0b94e
        isnot(window.getComputedStyle(content).getPropertyValue("background-color"),
Packit f0b94e
              previousBgColor,
Packit f0b94e
              "Sheet should change after obsoleted and reinserted.");
Packit f0b94e
        SimpleTest.finish();
Packit f0b94e
      });
Packit f0b94e
    });
Packit f0b94e
    // obsoleteSheet should throw with invalid input:
Packit f0b94e
    try {
Packit f0b94e
      SpecialPowers.wrap(document).obsoleteSheet("");
Packit f0b94e
      ok(false, "obsoleteSheet should throw with empty string.");
Packit f0b94e
    } catch (e) {
Packit f0b94e
      ok(true, "obsoleteSheet throws with empty string.");
Packit f0b94e
    }
Packit f0b94e
    try {
Packit f0b94e
      SpecialPowers.wrap(document).obsoleteSheet("foo");
Packit f0b94e
      ok(false, "obsoleteSheet should throw with invalid URL.");
Packit f0b94e
    } catch (e) {
Packit f0b94e
      ok(true, "obsoleteSheet throws with invalid URL.");
Packit f0b94e
    }
Packit f0b94e
    try {
Packit f0b94e
      SpecialPowers.wrap(document).obsoleteSheet("http://www.mozilla.org");
Packit f0b94e
      ok(true, "obsoleteSheet should not throw with valid URL.");
Packit f0b94e
    } catch (e) {
Packit f0b94e
      ok(false, "obsoleteSheet throws with valid URL.");
Packit f0b94e
    }
Packit f0b94e
  }
Packit f0b94e
Packit f0b94e
  </script>
Packit f0b94e
</head>
Packit f0b94e
<body onload="do_test();">
Packit f0b94e
Mozilla Bug 713564
Packit f0b94e

Packit f0b94e
Packit f0b94e
  
Packit f0b94e
  
Packit f0b94e
Packit f0b94e
Packit f0b94e
Packit f0b94e
</body>
Packit f0b94e
</html>