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 });