File: crossiframe-childframe.html

package info (click to toggle)
thunderbird 1%3A140.5.0esr-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,609,032 kB
  • sloc: cpp: 7,672,739; javascript: 5,901,898; ansic: 3,898,899; python: 1,413,347; xml: 653,997; asm: 462,284; java: 180,927; sh: 113,491; makefile: 20,460; perl: 14,288; objc: 13,059; yacc: 4,583; pascal: 3,352; lex: 1,720; ruby: 1,222; exp: 762; sql: 715; awk: 580; php: 436; lisp: 430; sed: 70; csh: 10
file content (39 lines) | stat: -rw-r--r-- 1,108 bytes parent folder | download | duplicates (22)
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
<!DOCType html>
<html>
<body>
<script src=event-timing-test-utils.js></script>
<div style="width: 300px; height: 300px" id='iframe_div' onmousedown="mainThreadBusy(120)">
<script>
(async () => {
  const observerPromise = new Promise(resolve => {
    new PerformanceObserver(entryList => {
      const mouseDowns = entryList.getEntriesByName('mousedown');
      if (mouseDowns.length === 0)
        return;
      resolve(mouseDowns);
    }).observe({ type:'event' });
  });
  const entries = await observerPromise;
  const clickDone = performance.now();
  if (entries.length !== 1) {
    top.postMessage("failed", "*");
    return;
  }
  const entry = entries[0];
  top.postMessage({
    // Entry values (|entry| itself is not clonable)
    "name": entry.name,
    "cancelable": entry.cancelable,
    "entryType": entry.entryType,
    "startTime": entry.startTime,
    "processingStart": entry.processingStart,
    "processingEnd": entry.processingEnd,
    "duration": entry.duration,
    // Other values
    "clickDone" : clickDone,
    "target": entry.target.id,
  }, '*');
}) ();
</script>
</body>
</html>