Canvasblocker: Opening embedded Youtube videos

Created on 21 Jan 2020  路  4Comments  路  Source: kkapsner/CanvasBlocker

Description



When you open an embedded Youtube video on a website (by clicking the title), so it opens in a separate "youtube.com/..." tab, CB appears to have problems to protect the called APIs as it normally does. There are no notifications being displayed, as if nothing was faked, and (more importantly) the video player isn't working normally. The severity depends, sometimes nothing is usable (can't pause, menu bar isn't usable, timeline isn't working - similar to deactivating and re-activating CB while Youtube's tab remains opened), sometimes just the timeline doesn't work, you can still pause the vid, sometimes (I think with shorter videos in particular) everything works as normal.

Expected Behavior



Display the "fingerprint" icon in the adressbar, the hanger menu turns red, Youtube player usable as always.

Current Behavior



Hanger menu and PageAction-menu icons don't get activated, described failures (domRect-related?) which deter a pleasant Youtube viewing experience.

Possible Solution



I don't know.

Steps to Reproduce (for bugs)

  1. open listenonrepeat.com (as an example for a website with embedded YT videos), search for a video of your liking
  2. click on the video title, it opens up a new Youtube tab with said video playing
  3. observe the notifications, and check the player with your cursor and mouse clicks

Your Environment

  • CanvasBlocker Version used: CanvasBlocker 1.0 (and latest beta, same issues)
  • Firefox version incl. 32- or 64-bit: 72.0.2 64bit
  • Operating System and version (desktop or mobile): desktop
  • Installed addons: Nano Defender (as seen in the log), uBlock Origin, uMatrix, Decentraleyes, Cookie AutoDelete, Youtube Classic

Your Settings




{
"logLevel": 100,
"urlSettings": [
{
"url": "slither.io",
"blockMode": "allowEverything"
},
{
"url": "^https://www\.google\.com/recaptcha/api2/(?:b?frame|anchor).$",
"protectWindow": false
},
{
"url": "^(?!.
twitter\.com).*$",
"protectNavigator": false
}
],
"hiddenSettings": {
"displayAdvancedSettings": false,
"displayDescriptions": false,
"displayBadge": false
},
"expandStatus": {
"blockMode": false,
"useAudioCache": false,
"protectedCanvasPart": false,
"protectWindow": false,
"protectAudio": false,
"protectNavigator": false,
"protectDOMRect": false,
"blockDataURLs": false
},
"displayHiddenSettings": true,
"whiteList": "",
"sessionWhiteList": "",
"blackList": "",
"blockMode": "fake",
"protectedCanvasPart": "readout",
"minFakeSize": 1,
"maxFakeSize": 1000000,
"rng": "nonPersistent",
"protectedAPIFeatures": {
"name @ window": true,
"opener @ window": true,
"vendorSub @ navigator": false,
"vendor @ navigator": false,
"appName @ navigator": false,
"appCodeName @ navigator": false,
"appVersion @ navigator": false,
"buildID @ navigator": false,
"oscpu @ navigator": false,
"platform @ navigator": false,
"product @ navigator": false,
"productSub @ navigator": false
},
"useCanvasCache": true,
"ignoreFrequentColors": 0,
"minColors": 0,
"fakeAlphaChannel": false,
"webGLVendor": "",
"webGLRenderer": "",
"webGLUnmaskedVendor": "",
"webGLUnmaskedRenderer": "",
"persistentRndStorage": "",
"persistentIncognitoRndStorage": "{}",
"storePersistentRnd": false,
"persistentRndClearIntervalValue": 0,
"persistentRndClearIntervalUnit": "days",
"lastPersistentRndClearing": 1579576459453,
"sharePersistentRndBetweenDomains": false,
"askOnlyOnce": "individual",
"askDenyMode": "block",
"showCanvasWhileAsking": true,
"showNotifications": true,
"highlightPageAction": "none",
"highlightBrowserAction": "color",
"displayBadge": true,
"storeNotificationData": false,
"storeImageForInspection": false,
"ignoreList": "",
"ignoredAPIs": {
"history": false,
"window": false
},
"showCallingFile": false,
"showCompleteCallingStack": false,
"enableStackList": false,
"stackList": "",
"protectAudio": true,
"audioFakeRate": "100",
"audioNoiseLevel": "minimal",
"useAudioCache": true,
"audioUseFixedIndices": true,
"audioFixedIndices": "3",
"historyLengthThreshold": 2,
"protectWindow": true,
"allowWindowNameInFrames": true,
"protectDOMRect": true,
"domRectIntegerFactor": 4,
"blockDataURLs": true,
"protectNavigator": true,
"navigatorDetails": {
"userAgent": "Mozilla/5.0 (Windows NT 9.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
},
"protectScreen": true,
"screenSize": "",
"fakeMinimalScreenSize": true,
"displayAdvancedSettings": true,
"displayDescriptions": false,
"theme": "auto",
"dontShowOptionsOnUpdate": false,
"isStillDefault": false,
"storageVersion": 1
}

The verbose log in the web console is as follows:

[Nano] Nano Defender Activated :: www.youtube.com core.js:43:24
[Nano] Excluded :: All Generically Applied Solutions rules-common.js:239:28
[Nano] Excluded :: uBO-Extra rules-common.js:306:28
Laden fehlgeschlagen f眉r das

All 4 comments

The problem comes from https://github.com/kkapsner/CanvasBlocker/issues/412 - the new tab is not usable if the "parent" tab gets closed or navigates to somewhere else.

Also the notifications are displayed in the "parent" tab.
I created a new test page https://canvasblocker.kkapsner.de/test/window.open-test.html there you can see the exact same problem.

Not sure how I will tackle that but you see that it does not leak. It's "only" breaking the new tab. The new tab is fine if you hit F5 once.

Please check the latest beta.

@kkapsner Yes, that solved it. Thanks for the quick fix!

Great - I think I will release version 1.1 soon

Was this page helpful?
0 / 5 - 0 ratings

Related issues

DRigby26 picture DRigby26  路  5Comments

kekukui picture kekukui  路  7Comments

ghost picture ghost  路  4Comments

scottstensland picture scottstensland  路  7Comments

concatime picture concatime  路  7Comments