netwerk/test/TestObjectCache.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 function getCacheService()
     2 {
     3     var nsCacheService = Components.classes["@mozilla.org/network/cache-service;1"];
     4     var service = nsCacheService.getService(Components.interfaces.nsICacheService);
     5     return service;
     6 }
     8 function createCacheSession(clientID, storagePolicy, streamable)
     9 {
    10     var service = getCacheService();
    11     var nsICache = Components.interfaces.nsICache;
    12     var session = service.createSession(clientID, storagePolicy, streamable);
    13     return session;
    14 }
    16 function openCacheEntry(clientID, url)
    17 {
    18     var nsICache = Components.interfaces.nsICache;
    19     var session = createCacheSession(clientID, nsICache.STORE_ANYWHERE, false);
    20     var entry = session.openCacheEntry(url, nsICache.ACCESS_READ_WRITE);
    21     return entry;
    22 }
    24 function wrapString(str)
    25 {
    26     var nsISupportsCString = Components.interfaces.nsISupportsCString;
    27     var factory = Components.classes["@mozilla.org/supports-cstring;1"];
    28     var wrapper = factory.createInstance(nsISupportsCString);
    29     wrapper.data = str;
    30     return wrapper;
    31 }
    33 function test()
    34 {
    35     var data = wrapString("javascript");
    36     var entry = openCacheEntry("javascript", "theme:button");
    37     entry.cacheElement = data;
    38     entry.markValid();
    39     entry.close();
    41     var newEntry = openCacheEntry("javascript", "theme:button");
    42     if (newEntry.cacheElement === data)
    43         print("object cache works.");
    44     else
    45         print("object cache failed.");
    46 }
    48 test();

mercurial