The Canvas is specified as a potential MediaStream source, to allow live video capture of Canvas data by Javascript. This is a fingerprinting risk, and should be placed behind our Canvas site permission.
There is also a preference to disable this feature:
canvas.capturestream.enabled
That said, unless we run out of time during our ESR45 work, we should protect access to this feature using the existing canvas prompt that is in Tor Browser.
Trac: Cc: gk to gk, brade, mcs Reviewer: N/AtoN/A Severity: N/Ato Normal Sponsor: N/Ato None
Thanks, looks good to me. I was a bit confused by the pointInPath() and pointIStroke() buttons as the tests behind them always pass even if I don't have Data Extraction Allowed checked. Is that supposed to be this way?
I am taking that one as well as we want to have it in the alpha (commit 916c78a0a56a38763077634cd492cfdcb2e37b81 in tor-browser-45.0.2esr-6.x-1). I leave it open, so that we get reminded that we want to have a second review before putting that patch into the stable version.
Sorry I didn't manage to review this earlier. I looked over the code carefully and I ran the tests and it all looks good to me. The tests are very nice and we might consider porting them into an automated regression test. I opened a ticket in case one us feels like working on that: #18903 (moved)