CanvasBlocker
CanvasBlocker copied to clipboard
The site freezes for a while and uses more RAM than usual on certain whitelisted sites.
The extension causes the site to become unresponsive for a while and uses more RAM than usual on certain sites, such as youtube.com, mail.google.com, translate.google.com , etc. ~~Eventually, the tab crashes~~.
Firefox 134 update
After the Firefox 134 update, it partially resolved the issue, changing tab crashes to temporary tab freezes.
Description (How to reproduce on youtube.com)
- Install new fresh Firefox profile
- Set
Enhanced Tracking ProtectiontoStrict - Install latest version of CanvasBlocker from CanvasBlocker Beta
- Add
youtube.comto CanvasBlocker's whilelist - Go to video page on
youtube.com->click next video/backward/refresh/hard refreshuntil noticing page is freeze. - Go to
about:processesto see memory using more than usual (up to 5 GB)
[!Note]
- Possibility to get memory leak on Windows is about 30%, and 80% on Android according to my tests.
Expected Behaviour
- Tab should not freeze
- CPU and Memory usage should be normal.
Current Behaviour
Firefox 133.0.3 64-bit Windows 11
https://github.com/user-attachments/assets/82a474e0-fe14-4a12-92be-16917d1337b8
Firefox 134 Beta on Android 13
https://github.com/user-attachments/assets/8f3e4efd-1139-4233-9ae7-cac028878224
Possible Solution
- (Temporary Solution) Kill related web processes
- (Permanent Solution) Completely disable CanvasBlocker
Don't Touch Site List: New while-list list which ensures the extension does not interact with the DOM on sites listed in the list.- Do not add
youtube.comto CanvasBlocker's whilelist
Context
~~I have been testing in various environments to identify what exactly causes the issue(which part of FPP or CanvasBlocker), but I still cannot figure it out. I think I need help from others.~~ I'm pretty sure the cause is CanvasBlocker itself. I have tried various combinations of Firefox settings (Default, enable FPP .etc), but the issue still occurs if I enable CanvasBlocker.
Your Environment
- CanvasBlocker Version used: Version 1.11.20241222
Firefox 133.0.3 and 134 and 134.0.1 and 135.0.1 64-bit Windows 10, 11(Intel i5 Gen9)andFirefox 134 and 135 and 136 Beta on Android 12, 13, 14 and 15- Enabled extension only CanvasBlocker beta
- ETP strict mode.
- Browser Privacy > Website Privacy Preferences
- Checked
Tell websites not to sell or share my data
- Checked
Your Settings
Stock setting but add youtube.com to CanvasBlocker's whilelist.
{
"logLevel": 1,
"urlSettings": [],
"hiddenSettings": {},
"expandStatus": {},
"displayHiddenSettings": false,
"whiteList": "youtube.com",
"sessionWhiteList": "",
"blackList": "",
"blockMode": "fake",
"protectedCanvasPart": "readout",
"minFakeSize": 1,
"maxFakeSize": 0,
"rng": "nonPersistent",
"protectedAPIFeatures": {},
"useCanvasCache": true,
"ignoreFrequentColors": 0,
"minColors": 0,
"fakeAlphaChannel": false,
"webGLVendor": "",
"webGLRenderer": "",
"webGLUnmaskedVendor": "",
"webGLUnmaskedRenderer": "",
"persistentRndStorage": "",
"persistentIncognitoRndStorage": "",
"storePersistentRnd": false,
"persistentRndClearIntervalValue": 0,
"persistentRndClearIntervalUnit": "days",
"lastPersistentRndClearing": 1735298609352,
"sharePersistentRndBetweenDomains": false,
"askOnlyOnce": "individual",
"askDenyMode": "block",
"showCanvasWhileAsking": true,
"showNotifications": true,
"highlightPageAction": "none",
"highlightBrowserAction": "color",
"displayBadge": true,
"storeNotificationData": false,
"storeImageForInspection": false,
"ignoreList": "",
"ignoredAPIs": {},
"showCallingFile": false,
"showCompleteCallingStack": false,
"enableStackList": false,
"stackList": "",
"protectAudio": true,
"audioFakeRate": "100",
"audioNoiseLevel": "minimal",
"useAudioCache": true,
"audioUseFixedIndices": true,
"audioFixedIndices": "25",
"historyLengthThreshold": 2,
"protectWindow": false,
"allowWindowNameInFrames": false,
"protectDOMRect": true,
"domRectIntegerFactor": 4,
"protectSVG": true,
"protectTextMetrics": true,
"blockDataURLs": false,
"protectNavigator": false,
"navigatorDetails": {},
"protectScreen": true,
"screenSize": "",
"fakeMinimalScreenSize": true,
"displayAdvancedSettings": true,
"displayDescriptions": false,
"theme": "auto",
"showPresetsOnInstallation": true,
"dontShowOptionsOnUpdate": false,
"disruptSessionOnUpdate": false,
"updatePending": false,
"isStillDefault": false,
"storageVersion": 1
}