summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/scroll-to-text-fragment/stash.js
blob: f1b2ea8d3a5c4d736b19db2e0f13a67adc09570c (plain)
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
// Put test results into Stash
function stashResultsThenClose(key, results) {
  fetch(`/scroll-to-text-fragment/stash.py?key=${key}`, {
    method: 'POST',
    body: JSON.stringify(results)
  }).then(() => {
    window.close();
  });
}

// Fetch test results from the Stash
function fetchResults(key, resolve, reject) {
  fetch(`/scroll-to-text-fragment/stash.py?key=${key}`).then(response => {
    return response.text();
  }).then(text => {
    if (text) {
      try {
        const results = JSON.parse(text);
        resolve(results);
      } catch(e) {
        reject();
      }
    } else {
      // We keep trying to fetch results as the target page may not have stashed
      // them yet.
      fetchResults(key, resolve, reject);
    }
  });
}