summaryrefslogtreecommitdiffstats
path: root/netwerk/test/unit/test_cache2-22-anon-visit.js
blob: bc8b15822b71ab0b59732f68eee04dbeb726fc76 (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Components.utils.import('resource://gre/modules/LoadContextInfo.jsm');

function run_test()
{
  do_get_profile();

  function checkNewBackEnd()
  {
    var storage = getCacheStorage("disk", LoadContextInfo.default);
    storage.asyncVisitStorage(
      new VisitCallback(1, 1024, ["http://an2/"], function() {
        storage = getCacheStorage("disk", LoadContextInfo.anonymous);
        storage.asyncVisitStorage(
          new VisitCallback(1, 1024, ["http://an2/"], function() {
            finish_cache2_test();
          }),
          true
        );
      }),
      true
    );
  }

  function checkOldBackEnd()
  {
    syncWithCacheIOThread(function() {
      var storage = getCacheStorage("disk", LoadContextInfo.default);
      storage.asyncVisitStorage(
        new VisitCallback(2, 24, ["http://an2/"], function() {
          storage = getCacheStorage("disk", LoadContextInfo.anonymous);
          storage.asyncVisitStorage(
            new VisitCallback(0, 0, ["http://an2/"], function() {
              finish_cache2_test();
            }),
            true
          );
        }),
        true
      );
    });
  }

  var mc = new MultipleCallbacks(2, newCacheBackEndUsed() ? checkNewBackEnd : checkOldBackEnd, !newCacheBackEndUsed());

  asyncOpenCacheEntry("http://an2/", "disk", Ci.nsICacheStorage.OPEN_NORMALLY, LoadContextInfo.default,
    new OpenCallback(NEW|WAITFORWRITE, "an2", "an2", function(entry) {
      mc.fired();
    })
  );

  asyncOpenCacheEntry("http://an2/", "disk", Ci.nsICacheStorage.OPEN_NORMALLY, LoadContextInfo.anonymous,
    new OpenCallback(NEW|WAITFORWRITE, "an2", "an2", function(entry) {
      mc.fired();
    })
  );

  do_test_pending();
}