Bugzilla 941146 repro

Minimal repro for Bugzilla 941146: NS_ERROR_FAILURE when other browsers work fine when setting font on a canvas context in a display:none iframe

by David Iglesias

HTML

<div id="tests">
  <div class="test">
    <div>
      <button data-hide data-reload>Toggle + Reload</button>
      <button data-hide>Toggle</button>
      <button data-reload>Reload</button>    
    </div>
    <div>
      <iframe class="hidden" src="https://fiddle.jshell.net/ditman/ktnLmpr1/show/light/"></iframe>
    </div>
  </div>
</div>

CSS

.hidden {
  display: none;
}

JavaScript

document.getElementById("tests").addEventListener("click", (e) => {
  if (!e.target.matches("button")) return;

  const button = e.target;
  const container = e.target.closest("div.test");
  const iframe = container.querySelector("iframe");

	if ("hide"in button.dataset) {
	  iframe.classList.toggle("hidden");  
  }

  if ("reload" in button.dataset) {
    iframe.src = iframe.src;
  }
})