tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

MutationObserver-inner-outer.html (2168B)


      1 <!DOCTYPE HTML>
      2 <meta charset=utf-8>
      3 <title>MutationObservers: innerHTML, outerHTML mutations</title>
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 <script src="mutationobservers.js"></script>
      7 <h1>MutationObservers: innerHTML, outerHTML mutations</h1>
      8 <div id="log"></div>
      9 
     10 <section style="display: none">
     11 
     12 <p id='n00'>old text</p>
     13 
     14 <p id='n01'>old text</p>
     15 
     16 <div id='n02'><p>old text</p></div>
     17 </section>
     18 
     19 <script>
     20  var n00;
     21  var n00oldText;
     22  var n01;
     23  var n01oldText;
     24  var n02;
     25 
     26  setup(function() {
     27    n00 = document.getElementById('n00');
     28    n00oldText = n00.firstChild;
     29    n01 = document.getElementById('n01');
     30    n01oldText = n01.firstChild;
     31    n02 = document.getElementById('n02');
     32  })
     33 
     34  runMutationTest(n00,
     35                  {childList:true,attributes:true},
     36                  [{type: "childList",
     37                    removedNodes: [n00oldText],
     38                    addedNodes: function() {
     39                      return [document.getElementById("n00").firstChild];
     40                    }},
     41                    {type: "attributes", attributeName: "class"}],
     42                  function() { n00.innerHTML = "new text"; n00.className = "c01"},
     43                  "innerHTML mutation");
     44 
     45  runMutationTest(n01,
     46                  {childList:true},
     47                  [{type: "childList",
     48                    removedNodes: [n01oldText],
     49                    addedNodes: function() {
     50                      return [document.getElementById("n01").firstChild,
     51                              document.getElementById("n01").lastChild];
     52                    }}],
     53                  function() { n01.innerHTML = "<span>new</span><span>text</span>"; },
     54                  "innerHTML with 2 children mutation");
     55 
     56  runMutationTest(n02,
     57                  {childList:true},
     58                  [{type: "childList",
     59                    removedNodes: [n02.firstChild],
     60                    addedNodes: function() {
     61                      return [n02.firstChild];
     62                    }}],
     63                  function() { n02.firstChild.outerHTML = "<p>next text</p>"; },
     64                  "outerHTML mutation");
     65 </script>