tor-browser

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

connected-callbacks-template.html (1191B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <!-- Regression test for https://github.com/jsdom/jsdom/issues/3290 -->
      6 
      7 <body>
      8 <script>
      9 "use strict";
     10 
     11 test(() => {
     12  let innerConnectedCallbackCalled = false;
     13  customElements.define("inner-element", class extends HTMLElement {
     14    connectedCallback() {
     15      innerConnectedCallbackCalled = true;
     16    }
     17  });
     18 
     19  let outerConnectedCallbackCalled = false;
     20  customElements.define("outer-element", class extends HTMLElement {
     21    connectedCallback() {
     22      const template = document.createElement("template");
     23      template.innerHTML = "<inner-element></inner-element>";
     24      this.appendChild(document.importNode(template.content, true));
     25      outerConnectedCallbackCalled = true;
     26    }
     27  });
     28 
     29  document.body.appendChild(document.createElement("outer-element"));
     30  assert_true(innerConnectedCallbackCalled, "inner connectedCallback must be called");
     31  assert_true(outerConnectedCallbackCalled, "outer connectedCallback must be called");
     32 }, "Nested custom element connectedCallback insertion involving a template DocumentFragment");
     33 </script>