tor-browser

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

browser_script_loader_js_cache_compression.js (4671B)


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