MCPcopy Create free account
hub / github.com/violentmonkey/violentmonkey / togglePreinject

Function togglePreinject

src/background/utils/preinject.js:342–360  ·  view source on GitHub ↗
(enable)

Source from the content-addressed store, hash-verified

340}
341
342function 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
362function toggleFastFirefoxInject(enable) {
363 ffInject = enable;

Callers

nothing calls this directly

Calls 2

clearStorageCacheFunction · 0.90
clearFrameDataFunction · 0.85

Tested by

no test coverage detected