tor-browser

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

media-element-event-handler-attributes.html (1238B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <title>Test setting EventHandler attributes</title>
      4 <link rel="help" href="https://w3c.github.io/encrypted-media/#attributes-3">
      5 
      6 <script src="/resources/testharness.js"></script>
      7 <script src="/resources/testharnessreport.js"></script>
      8 
      9 <body>
     10 <audio id="testElement"
     11       onencrypted="window.onencryptedHandlerSetFromParserWasFired()"
     12       onwaitingforkey="window.onwaitingforkeyHandlerSetFromParserWasFired()">
     13 </audio>
     14 <script>
     15  ["encrypted", "waitingforkey"].forEach(eventName => {
     16    promise_test(() => {
     17      return new Promise(resolve => {
     18        window[`on${eventName}HandlerSetFromParserWasFired`] = resolve;
     19        testElement.dispatchEvent(new Event(eventName));
     20      });
     21    }, `on${eventName} handler set from parser`);
     22 
     23    promise_test(() => {
     24      const el = document.createElement("audio");
     25      el.setAttribute(`on${eventName}`, `window.on${eventName}HandlerSetViaSetAttributeWasFired()`);
     26      document.body.append(el);
     27 
     28      return new Promise(resolve => {
     29        window[`on${eventName}HandlerSetViaSetAttributeWasFired`] = resolve;
     30        el.dispatchEvent(new Event(eventName));
     31      });
     32    }, `on${eventName} handler set via setAttribute()`);
     33  });
     34 </script>