(enable)
| 340 | } |
| 341 | |
| 342 | function togglePreinject(enable) { |
| 343 | isApplied = enable; |
| 344 | // Using onSendHeaders because onHeadersReceived in Firefox fires *after* content scripts. |
| 345 | // And even in Chrome a site may be so fast that preinject on onHeadersReceived won't be useful. |
| 346 | const onOff = `${enable ? 'add' : 'remove'}Listener`; |
| 347 | const config = enable ? API_CONFIG : undefined; |
| 348 | browser.webRequest.onSendHeaders[onOff](onSendHeaders, config); |
| 349 | if (!isApplied /* remove the listener */ |
| 350 | || IS_FIREFOX && !xhrInject && injectInto !== CONTENT /* add 'nonce' detector */) { |
| 351 | API_HEADERS_RECEIVED[onOff](onHeadersReceived, config, config && API_EXTRA); |
| 352 | } |
| 353 | tabsOnRemoved[onOff](onTabRemoved); |
| 354 | browser.tabs.onReplaced[onOff](onTabReplaced); |
| 355 | if (!enable) { |
| 356 | cache.destroy(); |
| 357 | clearFrameData(); |
| 358 | clearStorageCache(); |
| 359 | } |
| 360 | } |
| 361 | |
| 362 | function toggleFastFirefoxInject(enable) { |
| 363 | ffInject = enable; |
nothing calls this directly
no test coverage detected