File: common.js

package info (click to toggle)
firefox 145.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,653,528 kB
  • sloc: cpp: 7,594,999; javascript: 6,459,658; ansic: 3,752,909; python: 1,403,455; xml: 629,809; asm: 438,679; java: 186,421; sh: 67,287; makefile: 19,169; objc: 13,086; perl: 12,982; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10
file content (55 lines) | stat: -rw-r--r-- 1,983 bytes parent folder | download | duplicates (15)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Create a credentialless iframe. The new document will execute any scripts
// sent toward the token it returns.
const newIframeCredentialless = (child_origin, opt_headers) => {
  opt_headers ||= "";
  const sub_document_token = token();
  let iframe = document.createElement('iframe');
  iframe.src = child_origin + executor_path + opt_headers +
    `&uuid=${sub_document_token}`;
  iframe.credentialless = true;
  document.body.appendChild(iframe);
  return sub_document_token;
};

// Create a normal iframe. The new document will execute any scripts sent
// toward the token it returns.
const newIframe = (child_origin) => {
  const sub_document_token = token();
  let iframe = document.createElement('iframe');
  iframe.src = child_origin + executor_path + `&uuid=${sub_document_token}`;
  iframe.credentialless = false
  document.body.appendChild(iframe);
  return sub_document_token;
};

// Create a popup. The new document will execute any scripts sent toward the
// token it returns.
const newPopup = (test, origin) => {
  const popup_token = token();
  const popup = window.open(origin + executor_path + `&uuid=${popup_token}`);
  test.add_cleanup(() => popup.close());
  return popup_token;
}

// Create a fenced frame. The new document will execute any scripts sent
// toward the token it returns.
const newFencedFrame = async (child_origin) => {
  const support_loading_mode_fenced_frame =
    "|header(Supports-Loading-Mode,fenced-frame)";
  const sub_document_token = token();
  const url = child_origin + executor_path +
    support_loading_mode_fenced_frame +
    `&uuid=${sub_document_token}`;
  const urn = await generateURNFromFledge(url, []);
  attachFencedFrame(urn);
  return sub_document_token;
};

const importScript = (url) => {
  const script = document.createElement("script");
  script.type = "text/javascript";
  script.src = url;
  const loaded = new Promise(resolve => script.onload = resolve);
  document.body.appendChild(script);
  return loaded;
}