tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

browser_script_loader_js_cache_dirty.js (4741B)


      1 // ev, unordered, and runJSCacheTests are defined in head.js
      2 
      3 add_task(async function testMemoryCache_dirtyStateClassic() {
      4  if (!AppConstants.NIGHTLY_BUILD) {
      5    todo(false, "navigation cache is not yet enabled on non-nightly");
      6    return;
      7  }
      8 
      9  await SpecialPowers.pushPrefEnv({
     10    set: [
     11      ["dom.expose_test_interfaces", true],
     12      ["dom.script_loader.bytecode_cache.enabled", true],
     13      ["dom.script_loader.bytecode_cache.strategy", 0],
     14      ["dom.script_loader.experimental.navigation_cache", true],
     15    ],
     16  });
     17 
     18  await runJSCacheTests([
     19    {
     20      title: "dirty state revive classic",
     21      items: [
     22        {
     23          file: "file_js_cache_large.js",
     24          events: [
     25            ev("load:source", "file_js_cache_large.js"),
     26            ev("memorycache:saved", "file_js_cache_large.js"),
     27            ev("evaluate:classic", "file_js_cache_large.js"),
     28            ev("diskcache:noschedule"),
     29          ],
     30        },
     31        {
     32          file: "file_js_cache_large.js",
     33          events: [
     34            ev("load:memorycache", "file_js_cache_large.js"),
     35            ev("evaluate:classic", "file_js_cache_large.js"),
     36            ev("diskcache:noschedule"),
     37          ],
     38        },
     39        {
     40          invalidateMemory: true,
     41          file: "file_js_cache_large.js",
     42          events: [
     43            ev("memorycache:dirty:hit", "file_js_cache_large.js"),
     44            ev("load:source", "file_js_cache_large.js"),
     45            ev("memorycache:dirty:revived", "file_js_cache_large.js"),
     46            ev("evaluate:classic", "file_js_cache_large.js"),
     47            ev("diskcache:noschedule"),
     48          ],
     49        },
     50        {
     51          file: "file_js_cache_large.js",
     52          events: [
     53            ev("load:memorycache", "file_js_cache_large.js"),
     54            ev("evaluate:classic", "file_js_cache_large.js"),
     55            ev("diskcache:saved", "file_js_cache_large.js", false),
     56          ],
     57        },
     58        {
     59          file: "file_js_cache_large.js",
     60          events: [
     61            ev("load:memorycache", "file_js_cache_large.js"),
     62            ev("evaluate:classic", "file_js_cache_large.js"),
     63            ev("diskcache:noschedule"),
     64          ],
     65        },
     66        {
     67          file: "file_js_cache_large.js",
     68          events: [
     69            ev("load:memorycache", "file_js_cache_large.js"),
     70            ev("evaluate:classic", "file_js_cache_large.js"),
     71            ev("diskcache:noschedule"),
     72          ],
     73        },
     74      ],
     75    },
     76    {
     77      title: "dirty state evict classic",
     78      items: [
     79        {
     80          file: "file_js_cache_large.js",
     81          events: [
     82            ev("load:source", "file_js_cache_large.js"),
     83            ev("memorycache:saved", "file_js_cache_large.js"),
     84            ev("evaluate:classic", "file_js_cache_large.js"),
     85            ev("diskcache:noschedule"),
     86          ],
     87        },
     88        {
     89          file: "file_js_cache_large.js",
     90          events: [
     91            ev("load:memorycache", "file_js_cache_large.js"),
     92            ev("evaluate:classic", "file_js_cache_large.js"),
     93            ev("diskcache:noschedule"),
     94          ],
     95        },
     96        {
     97          invalidateMemory: true,
     98          clearDisk: true,
     99          file: "file_js_cache_large.js",
    100          events: [
    101            ev("memorycache:dirty:hit", "file_js_cache_large.js"),
    102            ev("load:source", "file_js_cache_large.js"),
    103            ev("memorycache:dirty:evicted", "file_js_cache_large.js"),
    104            ev("memorycache:saved", "file_js_cache_large.js"),
    105            ev("evaluate:classic", "file_js_cache_large.js"),
    106            ev("diskcache:noschedule"),
    107          ],
    108        },
    109        {
    110          file: "file_js_cache_large.js",
    111          events: [
    112            ev("load:memorycache", "file_js_cache_large.js"),
    113            ev("evaluate:classic", "file_js_cache_large.js"),
    114            ev("diskcache:noschedule"),
    115          ],
    116        },
    117        {
    118          file: "file_js_cache_large.js",
    119          events: [
    120            ev("load:memorycache", "file_js_cache_large.js"),
    121            ev("evaluate:classic", "file_js_cache_large.js"),
    122            ev("diskcache:noschedule"),
    123          ],
    124        },
    125        {
    126          file: "file_js_cache_large.js",
    127          events: [
    128            ev("load:memorycache", "file_js_cache_large.js"),
    129            ev("evaluate:classic", "file_js_cache_large.js"),
    130            ev("diskcache:saved", "file_js_cache_large.js", false),
    131          ],
    132        },
    133        {
    134          file: "file_js_cache_large.js",
    135          events: [
    136            ev("load:memorycache", "file_js_cache_large.js"),
    137            ev("evaluate:classic", "file_js_cache_large.js"),
    138            ev("diskcache:noschedule"),
    139          ],
    140        },
    141      ],
    142    },
    143  ]);
    144 
    145  await SpecialPowers.popPrefEnv();
    146 });