summaryrefslogtreecommitdiffstats
path: root/toolkit/components/thumbnails/test/browser_thumbnails_bg_no_cookies_stored.js
blob: f7acf96ba931215e8751ca073ded0b0dabc800c0 (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
30
31
32
33
34
35
36
37
38
39
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */

/**
 * Check that if a page captured in the background attempts to set a cookie,
 * that cookie is not saved for subsequent requests.
 */
add_task(async function thumbnails_bg_no_cookies_stored() {
  await SpecialPowers.pushPrefEnv({
    set: [["privacy.usercontext.about_newtab_segregation.enabled", true]],
  });
  let url = bgTestPageURL({
    setRedCookie: true,
    iframe: bgTestPageURL({ setRedCookie: true }),
    xhr: bgTestPageURL({ setRedCookie: true }),
  });
  ok(!thumbnailExists(url), "Thumbnail file should not exist before capture.");
  await bgCapture(url);
  ok(thumbnailExists(url), "Thumbnail file should exist after capture.");
  removeThumbnail(url);
  // now load it up in a browser - it should *not* be red, otherwise the
  // cookie above was saved.
  await BrowserTestUtils.withNewTab(
    {
      gBrowser,
      url,
    },
    async browser => {
      // The root element of the page shouldn't be red.
      await SpecialPowers.spawn(browser, [], function () {
        Assert.notEqual(
          content.document.documentElement.style.backgroundColor,
          "rgb(255, 0, 0)",
          "The page shouldn't be red."
        );
      });
    }
  );
});