<!doctype html>
<script src="../resources/runner.js"></script>
<div id="host">
  <div id="child1"></div>
</div>
<script>
  const host = document.querySelector("#host");
  const child1 = document.querySelector("#child1");
  const shadow_root = host.attachShadow({ mode: "open", slotAssignment: "manual" });
  window.onload = function() {
    PerfTestRunner.measureTime({
      description: "Measure performance of slot assignment in manual-slotting mode in shadow root.",
      run: function() {
        const start = PerfTestRunner.now();
        for (let i = 0; i < 100; i++) {
          const slot1 = document.createElement("slot");
          shadow_root.appendChild(slot1);
          slot1.assign([child1]);
          child1.assignedSlot;
          slot1.assignedElements();
          slot1.remove();
          child1.assignedSlot;
        }

        return PerfTestRunner.now() - start;
      }
    });
  }
</script>
