1
0
mirror of https://github.com/kkapsner/CanvasBlocker synced 2024-12-23 05:10:27 +01:00

440 Commits

Author SHA1 Message Date
kkapsner
0f44820e3d Used api property to display correct text in ask mode. 2018-06-21 00:13:32 +02:00
kkapsner
1abc681e3f Added api property to changedFunctions. 2018-06-21 00:09:07 +02:00
kkapsner
e9fbb7259e Added grouping for keys in object setting. 2018-06-21 00:07:29 +02:00
kkapsner
4f18dc3ab6 Computed default value
Default values for settings can now be functions to be computed.
2018-06-21 00:03:17 +02:00
kkapsner
0f0f526fd5 Added protection for audio API 2018-06-16 00:22:31 +02:00
kkapsner
032bc2e424 Modified randomSuppies API
getRng now returns a 32 bit random Number
getIndexRng returns a random index in a range
getBitRng returns a random bit
getValueRng is the old getRng which alters the provided value
2018-06-16 00:09:06 +02:00
kkapsner
52e44e0eb2 respect RFP setting in isPointInPath and isPointInStroke
Fixes #189
2018-05-26 15:36:55 +02:00
kkapsner
f02246128e Added setting to whitelist parts of the canvas API 2018-05-26 15:33:39 +02:00
kkapsner
a7e472f298 added isPointInPath and isPointInStroke to the readout-API list 2018-04-01 22:47:57 +02:00
kkapsner
6f8f9a7e9c Split long clear timeout delays.
window.setTimeout can not handle big delays.

Fixes #180
2018-02-16 18:10:18 +01:00
kkapsner
2b92481004 Show options page on install or update
But only when pageAction is not available (i.e. Fennec)
2018-01-08 17:07:46 +01:00
kkapsner
77e079e5cc Added showCanvasWhileAsking
Fixes #175
2018-01-04 13:36:18 +01:00
kkapsner
ab19ebd2c6 Enable asking in iframes 2018-01-04 13:30:48 +01:00
kkapsner
66336d1b65 prevent possible double faking 2018-01-03 10:59:56 +01:00
kkapsner
9f2f77dbc1 Secured dynamic content script 2017-12-24 21:54:39 +01:00
kkapsner
19a7a32e0f Do not struggle on unknown settings.
Fixes #169
Fixes #168
Fixes #164
Fixes #170
2017-12-19 23:04:03 +01:00
kkapsner
4348c71b55 Removed trailing spaces in migration URL 2017-12-19 23:00:35 +01:00
kkapsner
30a3f9ea83 Added [CanvasBlocker] to logging 2017-12-19 22:59:30 +01:00
kkapsner
596a7ca33b Switch to using beta channel 2017-12-19 00:28:42 +01:00
kkapsner
18ceb998e0 Secured logging color picking 2017-12-18 23:57:25 +01:00
kkapsner
41a8112920 Added better logging to pre intercepting 2017-12-18 23:55:13 +01:00
kkapsner
3d05b48089 Added colors to the logging 2017-12-18 23:47:24 +01:00
kkapsner
96b5291459 Added logging to dynamic content script. 2017-12-18 23:19:28 +01:00
kkapsner
22fd0e8be1 Discarded pre-intercept
It broke pinned tabs and JS in some cases.

Fixes #164.
2017-12-16 19:27:29 +01:00
kkapsner
3bbbfc4a15 Force settings loading 2017-12-15 01:00:52 +01:00
kkapsner
a5f3e78292 Do not forceLoad depending on Firefox version 2017-12-15 00:48:00 +01:00
kkapsner
3fcc5774c2 Only Firefox < 57 block on pre-intercept 2017-12-13 20:15:50 +01:00
kkapsner
3e214ed967 Changed pre-intercept to block
... instead of forcing the loading of the settings with a synchonous
XHR.
2017-12-11 20:59:56 +01:00
kkapsner
871199cbc3 do not show notifications when canvas faking was aborted 2017-12-11 12:48:08 +01:00
kkapsner
096db123d7 Added setting for minimal colors
Fixes #162
2017-12-11 12:47:43 +01:00
kkapsner
d787b84b13 Activated settings migration to 0.3 2017-12-08 20:25:08 +01:00
kkapsner
94d62f5302 Background script never sends settings 2017-12-04 00:32:19 +01:00
kkapsner
ce7dc1b422 Only force setting loading when necessary
May help for #160.
2017-12-04 00:26:26 +01:00
kkapsner
01780da9f5 Added URL specific settings
For blockMode and showNotifications.

Fixes #148.
2017-12-03 23:47:49 +01:00
kkapsner
64ded9a342 Keepp logging in chronical order 2017-11-29 08:38:52 +01:00
kkapsner
5f5d36de23 Added dynamic settings content script
Not yet fully usable due to missing detection in frame.js
2017-11-27 12:28:01 +01:00
kkapsner
2bc0315c5b Added "white" rng 2017-11-24 17:06:43 +01:00
kkapsner
9f242004c9 Changed settings loading URL
Fixes #155
2017-11-20 23:48:28 +01:00
kkapsner
dd3620cd08 Fixed page action display confusion
Fixes #149
2017-11-14 23:57:44 +01:00
kkapsner
d531abb2de Added export and import for settings 2017-11-14 01:07:27 +01:00
kkapsner
41d9b7073f Wait for settings in the frame script
Fixes #147
2017-11-14 01:04:20 +01:00
kkapsner
b3bb10d334 Cleaned up options page 2017-11-11 23:34:59 +01:00
kkapsner
a465303fff askOnly once extended
API-types can now be combined in "askOnlyOnce".
Needed new storage version -> added settings migration
2017-11-10 23:45:09 +01:00
kkapsner
f75189f374 Added ask deny mode
Fixes #142 and some minor bugs.
2017-11-09 00:53:52 +01:00
kkapsner
e539a893b4 Removed updateContentScripts
It does not to seem necessary any more.
2017-11-08 17:47:09 +01:00
kkapsner
3cb1974b18 Added clear interval
Also ensures that the persistent data is loaded correctly in ESR.

Fixes #139 and #143
2017-11-08 17:46:41 +01:00
kkapsner
ec1c5ae7d8 Minor cleanups 2017-11-07 19:51:49 +01:00
kkapsner
2193313980 Centralized settings management 2017-11-07 00:36:44 +01:00
kkapsner
18df3f97fe Merge branch 'settingsAPI' 2017-10-14 12:48:07 +02:00
kkapsner
03bf34d092 getImageData does not need to be faked in input mode when facing a non 2d context.
Fixes #137
2017-10-12 00:25:12 +02:00
kkapsner
e686b14106 Improved window intercepting. 2017-10-10 21:11:50 +02:00
kkapsner
68fb7730b9 Secured getWrapped from weird errors (Unexpected object).
Fixes #133
2017-10-10 21:11:05 +02:00
kkapsner
c5872ef5a1 Fixed broken webGl faking.
Fixes #136
2017-10-10 21:09:26 +02:00
kkapsner
eb62521adc Trying to get wrappedJSObject of an wrappedJSObject is wrong...
Fixes #133 and #134.
2017-10-07 23:26:04 +02:00
kkapsner
dcb878392e Simplified require and further linting. 2017-10-06 16:06:31 +02:00
kkapsner
01c1145e28 Code cleanup. 2017-10-05 19:00:00 +02:00
kkapsner
ef38abe545 Code linting. 2017-10-03 15:35:31 +02:00
kkapsner
1689686935 Fixed logging to be able to use %s in the first logged argument. 2017-09-29 00:29:34 +02:00
kkapsner
17508d9ffa Merge pull request #130 from spodermenpls/master
Slight code rot
2017-09-24 10:09:44 +02:00
kkapsner
f1a9708e41 Update all lists after loading of the settings. 2017-09-24 10:07:33 +02:00
spodermenpls
98f061d82b Update main.js 2017-09-24 03:38:44 +02:00
kkapsner
eb0f936cb0 First steps. 2017-09-24 00:12:12 +02:00
kkapsner
26c5968b64 Fixed bug that the update of the lists sometimes did not use the new value but the old one. 2017-09-23 23:47:44 +02:00
kkapsner
2b1a32e078 Settings only need to be loaded when still in default state. 2017-09-23 23:40:57 +02:00
kkapsner
a4a92fc2f9 Ping back after the port opening to the background script now also returns the settings and the persistentRnd data. 2017-09-23 23:37:46 +02:00
kkapsner
e5e38e148e Made the domain rnd setable for the persistent rng. 2017-09-23 23:34:29 +02:00
kkapsner
d5ac2aba4c Cleanup of the default settings. 2017-09-23 23:30:54 +02:00
kkapsner
8fc5ee45c2 getImageData also faked when using fakeInput mode. 2017-09-23 23:23:12 +02:00
kkapsner
d8f6fb1ac9 Made readPixels consistent with the other faked readout functions. 2017-08-13 23:41:57 +02:00
kkapsner
73e4848ffd Added setting for alpha channel faking. 2017-08-11 16:26:24 +02:00
kkapsner
b12dc3ad68 Added displayAdvancedSettings setting. 2017-08-08 18:11:45 +02:00
kkapsner
48dc965f7c Added setting for canvas cache. 2017-08-08 18:08:18 +02:00
kkapsner
f853071d19 Added names to random supply objects. 2017-08-08 08:29:42 +02:00
kkapsner
1733be23f2 Added setting "ignoreFrequentColors" 2017-08-07 21:03:34 +02:00
kkapsner
9da251b14d Added "constant" rng. 2017-08-07 17:43:57 +02:00
kkapsner
921c7dbd5f Changed rng interface to use colors instead of separate channels. 2017-08-07 08:49:49 +02:00
kkapsner
9715eb09d2 Added logging lib with setting to control log level. 2017-07-27 19:14:04 +02:00
kkapsner
72a2904b0a Removed log entry for missing unload - it's not possible in WebExtensions. 2017-07-18 16:19:06 +02:00
kkapsner
c8b451cf2f Added more logging to frame script. 2017-07-18 16:18:36 +02:00
kkapsner
3c47eaf97f Added loading of the current settings in the frame script. 2017-07-18 16:17:19 +02:00
kkapsner
bec157391d Removed warning about unknown property. 2017-07-18 16:16:38 +02:00
kkapsner
6c47397d46 Do not intercept when the SOP is in the way. 2017-07-18 16:14:03 +02:00
kkapsner
5575c50a03 Added minimal fake size and respected the fake sizes in all fakeable functions. 2017-07-18 16:11:12 +02:00
kkapsner
0d7e8bdd8b Formatting cleanup. 2017-07-16 00:26:59 +02:00
kkapsner
736d6b0fb2 Added some logging to frame script. 2017-07-16 00:25:19 +02:00
kkapsner
47729f81bb Added storage version check. 2017-07-16 00:12:12 +02:00
kkapsner
0234a6d8cf Removed obsolete files. 2017-07-14 08:58:48 +02:00
kkapsner
3cefcfe702 Added method to display faked canvas content. 2017-07-08 22:40:38 +02:00
kkapsner
8cec88f5f7 Restructuring of main.js. 2017-07-07 08:50:23 +02:00
kkapsner
18a2e32044 Added better logging to frame.js and separated settings update from defaultSettings.js 2017-07-07 08:49:12 +02:00
kkapsner
97c9f1c94b Added function lists.updateAll() to account for later loaded settings. 2017-07-07 08:46:58 +02:00
kkapsner
5576b54883 Page action message display and buttons. 2017-07-02 12:21:16 +02:00
kkapsner
f70380aa67 Added test page for webGL - it is also working with the webExtension. 2017-06-29 20:19:00 +02:00
kkapsner
067ec6954c Allow the page scripts to overwrite the faked functions.
Fixes #121
2017-06-29 07:31:55 +02:00
kkapsner
5cec9781c2 Added pageAction to display the notifications. 2017-06-29 07:21:36 +02:00
kkapsner
cba5680406 First working webExtesion. 2017-06-25 22:33:12 +02:00
kkapsner
4ea073132d Changed library functions that may work in both types.
Added helper scripts for webExtension.
2017-06-25 22:22:17 +02:00
kkapsner
4d75ad4ca1 Fixed ask mode with input mode. 2017-06-25 21:14:13 +02:00
kkapsner
a6e1b05045 WebExtension: added embedded WebExtension to store the preferences for the transition 2017-05-21 13:17:35 +02:00
kkapsner
a9c7d97708 Prevented error when wrong object is passed to the faked functions.
Solves the fourth problem in #114.
2017-05-05 09:18:11 +02:00
kkapsner
231e33ffb7 Relative paths did no longer work for remoteRequire in nightly.
Also fixes #113 (first tab after restoration did not load frame script) - no clue why.
2017-04-23 00:27:40 +02:00
kkapsner
6fdf13bd10 Prevented error when canvas has size zero
Solves the third problem in #114
2017-04-19 19:32:37 +02:00
kkapsner
e55d0078d5 Modified functions need type.
Fixes #109
2017-03-03 00:55:32 +01:00
kkapsner
f85303065c Only interfecpt constructors that are present.
Fixes #108.
2017-02-22 17:46:17 +01:00
kkapsner
a8611230b1 Added option to store data for persistent rng.
Fixes #102.
2017-02-10 17:37:35 +01:00
kkapsner
b968e3e7a0 Firefox 45.7.0 (ESR) complained about function in block.
Fixes #105.
2017-02-10 17:29:38 +01:00
kkapsner
66536113e8 Fixed mode "fake at input". 2017-02-10 16:30:11 +01:00
kkapsner
6636e1d68b window objects of <frame>s with no url do get the "about:blank" too late -> treat blank URL the same way. 2017-02-01 11:15:05 +01:00
kkapsner
eb6494eca5 Shared persistent rnd between processes.
Fixes #103.
2017-02-01 10:49:33 +01:00
kkapsner
602d5a6bfd Switch from frameScript to require("sdk/remote/...").
Fixes #98. Fixes #100.
2017-01-31 21:51:08 +01:00
kkapsner
9c7e842f4b Prevented error message when notifications where triggered on preview, which is not possible. 2017-01-31 20:03:48 +01:00
kkapsner
ec1ae73cda about:blank pages are treated with respect to the opening page 2017-01-31 20:00:02 +01:00
kkapsner
b563a9d3ca removed error message when notification can not be closed 2017-01-30 11:31:04 +01:00
kkapsner
960f3c4f36 Only alter last bit also in non persistent rng mode.
Fixes #99.
2017-01-18 08:46:45 +01:00
kkapsner
6d7a9fc22a Removed bug with faking webgl and added readPixels for webgl2.
Fixes #96 and #97.
2016-12-26 14:36:01 +01:00
kkapsner
0eeaf84826 Improved performance for getImageData. 2016-12-03 17:29:30 +01:00
kkapsner
7b7583afe0 Performance increase when canvas bigger than maxSize.
Fixes #93.
2016-12-01 20:40:28 +01:00
kkapsner
c3c6c7a2e9 Fixes bug in fake function for readPixels.
Fixes #92.
2016-11-26 17:37:52 +01:00
kkapsner
d8a5cf2283 Dynamic notification id from message id. 2016-11-22 08:30:57 +01:00
kkapsner
fc07961c6b Completely remove function monitoring for white listed sites.
Fixes #84.
2016-11-19 15:35:00 +01:00
kkapsner
749b088fe9 Added button in options site to display release notes.
Fixes #83
2016-11-13 15:34:33 +01:00
kkapsner
82bb25d0f2 Monitoring only the necessary functions -> changes of the mode or the white/black lists only affects new loaded pages.
Fixes #84.
2016-11-13 15:09:03 +01:00
kkapsner
b2823cbd8d Added internal type handling for getContext.
Fixes #86
2016-11-13 14:55:42 +01:00
kkapsner
e4c65d415e Made checkStack available during interception. 2016-11-13 14:51:58 +01:00
kkapsner
d122f90655 Added notification display time.
Fixes #85.
2016-11-11 00:19:25 +01:00
kkapsner
26dcc31f5b Moved "use strict" to be ECMA 2016 compliant.
Fixes #80.
2016-10-31 16:43:49 +01:00
kkapsner
dc98a92e8f Direct access to exportFunction in intercept.js 2016-10-24 22:30:57 +02:00
kkapsner
a2fa00fb98 First implementation of the fakeInput mode. (And other improvements.) 2016-10-23 22:12:12 +02:00
kkapsner
b6d08459a5 Preworks for the new "fake-input" mode. 2016-10-22 13:32:48 +02:00
kkapsner
fcedf34b9f Fake notification was not shown in all cases. 2016-10-12 00:08:53 +02:00
kkapsner
827fd3124c Minor bug fixing and commenting in lib/randomSupplies.js
Fixes #76
2016-08-15 13:27:28 +02:00
kkapsner
1b2c4cb487 Added preference to control rng type. 2016-08-06 19:17:36 +02:00
kkapsner
447ff54222 Made random changes constant within the same domain. 2016-05-18 08:55:21 +02:00
kkapsner
699698f529 Improved faking performance. 2016-05-14 19:12:45 +02:00
kkapsner
37fd9f7a36 Suppressed notification if maxFakeSize triggers. 2016-05-11 08:58:45 +02:00
kkapsner
b8ba76300e Introduced maxFakeSize. 2016-05-10 08:01:21 +02:00
kkapsner
8240bf6007 .nodeName not readable on HTMLCanvasElementPrototype.
Fixes #66.
2016-04-30 15:05:20 +02:00
kkapsner
4465ff8435 Disabled faking in getImageData for bigger areas. 2016-04-21 23:54:48 +02:00
kkapsner
6ce7b81124 Code cleanup. 2016-02-13 12:48:22 +01:00
kkapsner
951277e922 e10s ready!
Fixes #60 and #42
2016-02-13 12:28:36 +01:00
kkapsner
424b88f04f Prevented bypass with empty <iframe>.
Fixes #58
2016-01-28 23:46:39 +01:00
kkapsner
d2f5a0cca1 Introduced stackList. 2015-12-31 13:37:27 +01:00
kkapsner
6c806583f0 Removed bug with "add to ignore list"-button & added translations for prompts.
Fixes #41.
2015-10-24 10:44:51 +02:00
kkapsner
0f575a7aed Added also prompt for adding to ignore list. 2015-10-11 13:56:28 +02:00
kkapsner
9255fb5813 Added prompts for domain and URL whitelist adding in notification as mentioned in issue #40. 2015-10-08 17:17:02 +02:00
kkapsner
5fe5ec1d64 Added support for webgl2 (?) 2015-09-10 01:58:38 +02:00
kkapsner
0640008459 Fixed bug with webgl-canvas. 2015-09-10 01:35:49 +02:00
kkapsner
0904d8e2a6 Linted all files. 2015-09-08 11:42:32 +02:00
kkapsner
6c46d28593 Reintroduced ask modes. 2015-09-08 11:41:33 +02:00
kkapsner
c10b382c93 Version 0.2.0
Reenabled notifications
Code cleanup.
2015-09-06 15:40:34 +02:00
kkapsner
97e0c6b9cd Removed pageMod and many not needed features.
Notifications not working.
2015-09-06 12:26:50 +02:00
kkapsner
4ed4bb759b Changed notification not to show full URL but only domain. Added button to show full URL.
Fixes #33
2015-09-01 21:40:30 +02:00
kkapsner
f6e09a9b1a Removed bypass option with non content windos. 2015-08-26 18:12:12 +02:00
kkapsner
519f6a4c58 Changed require calls for own modules. Otherwise the harness-options.json will contain wrong module names. 2015-06-23 13:14:50 +02:00
kkapsner
9676f3f5b1 Changed preferencePane styling to self hosted module. 2015-05-15 11:21:14 +02:00
kkapsner
0a4b92508a Reenabled "whitelist URL"
Added proper escaping to the URL.

This fixes #28
2015-05-11 10:55:12 +02:00
kkapsner
d1cf450ce5 Disabled "whitelist URL" in notification
Referres to #28
2015-05-11 10:47:50 +02:00
kkapsner
dc38d922c3 Better input in lists by notification buttons. 2015-05-11 10:45:04 +02:00
kkapsner
233cfd1f6a Preferences changes
Changed translations, reordered preferences and added a "disable
notifications" button to the notifications.

Fixed #24, #25 and #26
2015-05-06 23:59:36 +02:00
kkapsner
b6ac2248f3 Added proference to disable notifications 2015-05-03 13:39:27 +02:00
kkapsner
7ce54a25c9 Simplified translations in inject.js 2015-04-24 01:04:14 +02:00
kkapsner
475c28483f Added ignore list. 2015-04-23 10:04:20 +02:00
kkapsner
af47ee8d87 Code cleanup and removed blockAll bug
blockAll did not block readout-API. This could be relevant if a user
changes the setting and an open tab still holds a reference to a
canvas-context.
2015-04-22 11:55:31 +02:00
kkapsner
30407e71a0 Added fake for readPixels and removed new tab bug
Bug description: if a new tab is opened the wrong blockmode could be
used.
2015-04-22 11:18:26 +02:00
kkapsner
a8f636ba6f Merge remote-tracking branch 'origin/master' into notificationOnFakeReadout
Conflicts:
	canvasblocker.xpi
	data/inject.js
	lib/main.js
2015-04-15 12:11:51 +02:00
kkapsner
460da0f642 Functional notifications in right tab! 2015-04-15 12:02:21 +02:00
kkapsner
e639b863dd Simplified PDF checking 2015-04-15 11:39:35 +02:00
kkapsner
8524301655 Added translations 2015-04-15 11:33:10 +02:00
kkapsner
f0e3a6a874 First function notifications
may open notification on wrong tab...
2015-04-15 10:08:01 +02:00
kkapsner
ba524a896e Removed bug introduced with "about:" sites 2015-04-14 01:28:49 +02:00
kkapsner
0a88d47609 First notification steps - NOT FUNCTIONAL! 2015-04-14 01:26:04 +02:00
kkapsner
a6d58a3941 Added MPL 2015-01-16 13:01:01 +01:00
kkapsner
ab8a88ef66 Merge from master 2014-12-15 19:32:02 +01:00
kkapsner
1c0dc233a9 Added preferences to display caller(s) 2014-12-15 18:43:47 +01:00
kkapsner
caba7e33d0 First implementation 2014-12-04 23:34:41 +01:00
kkapsner
f5a2c46f24 Further code cleanup 2014-10-14 01:06:11 +02:00
kkapsner
74e86d5d12 Added separate fakeReadout option 2014-10-13 01:37:13 +02:00
kkapsner
7da2a94030 Added askReadout 2014-10-11 01:46:47 +02:00
kkapsner
3c96a9e3f5 More flexible list checking 2014-10-11 00:07:51 +02:00
kkapsner
147a2893c4 Changed to getter approach
- no "visible vs. invisible" possible
2014-10-09 00:26:36 +02:00
kkapsner
b2f6aee8f9 Added askOnlyOnce and blockReadout and major code changes 2014-10-08 03:16:23 +02:00
kkapsner
77ea4f4b6d Finally removed memory leak? 2014-10-05 15:08:01 +02:00
kkapsner
70a16e55a6 Removed memory leak 2014-10-04 14:26:05 +02:00
kkapsner
40d059311a Changed settings 2014-08-20 10:21:38 +02:00
kkapsner
430a9226dc Separated invisible and visible canvas asking 2014-08-17 23:32:23 +02:00
kkapsner
8098c9177c Removed Blacklist typo 2014-08-11 18:05:56 +02:00
kkapsner
124d0a73a5 Fixed PDF bug + added full RegExp support. 2014-08-10 18:03:58 +02:00
kkapsner
f185ad443b PDF canvas support 2014-08-04 17:02:42 +02:00
kkapsner
ebe1d66ad5 Added black list and ask. 2014-08-01 12:03:23 +02:00
kkapsner
0ab4f1b7d3 Initial Commit 2014-07-31 03:05:51 +02:00