File: 1419902.html

package info (click to toggle)
firefox 147.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,683,320 kB
  • sloc: cpp: 7,607,359; javascript: 6,533,295; ansic: 3,775,223; python: 1,415,500; xml: 634,561; asm: 438,949; java: 186,241; sh: 62,752; makefile: 18,079; objc: 13,092; perl: 12,808; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10; exp: 6
file content (39 lines) | stat: -rw-r--r-- 1,628 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<html>
  <head>
    <script>
      // Note that despite what it looks like this test does leave windows open
      // after the test finishes. That's because some of the window.open calls
      // trigger an exception but still open a window. Because of the
      // exception, winsToClose.push is not executed and we have no reference
      // to the window. So far there is no known way to get a reference to it.
      // It was also tried to give each opened windowed a named target, save
      // that list of targets, and use window.open("", targetname) to get a
      // reference to the window. That also doesn't work because either the
      // window.open calls never end and this page never loads, or if it does
      // load after a finite time then still some windows are left open for
      // some reason.
      var winsToClose = []
      onbeforeunload = function() {
        for (let win of winsToClose) {
          if (win) {
            win.close();
          }
        }
      };
      for (let i = 0; i < 38; i++) {
        customElements.define("custom-element_0", class extends HTMLElement {
          constructor() {
            try { o1 = document.createElement("custom-element_0") } catch (e) {}
            try {
             if (winsToClose.length < 20) {
               // The test used to rely on dom.popup_maximum == 20.
               winsToClose.push(window.open("javascript:'<html><body>dummy</body></html>';"));
             }
            } catch (e) {}
          }
        })
        try { o3 = document.createElement("custom-element_0") } catch (e) {}
      }
    </script>
  </head>
</html>