summaryrefslogtreecommitdiffstats
path: root/extensions/cookie/test/browser_test_favicon.js
blob: a89a7001775c3cb2e35b2107f9d5af8bbb690a50 (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
// tests third party cookie blocking using a favicon load directly from chrome.
// in this case, the docshell of the channel is chrome, not content; thus
// the cookie should be considered third party.

function test() {
  waitForExplicitFinish();

  Services.prefs.setIntPref("network.cookie.cookieBehavior", 1);

  Services.obs.addObserver(function (theSubject, theTopic, theData) {
    var uri = theSubject.QueryInterface(Components.interfaces.nsIURI);
    var domain = uri.host;

    if (domain == "example.org") {
      ok(true, "foreign favicon cookie was blocked");

      Services.prefs.setIntPref("network.cookie.cookieBehavior", 0);

      Services.obs.removeObserver(arguments.callee, "cookie-rejected");

      finish();
    }
  }, "cookie-rejected", false);

  // kick off a favicon load
  gBrowser.setIcon(gBrowser.selectedTab, "http://example.org/tests/extensions/cookie/test/damonbowling.jpg",
                   Services.scriptSecurityManager.getSystemPrincipal());
}