1
0
Fork 0
mirror of https://github.com/gorhill/uMatrix.git synced 2024-08-24 06:21:18 +12:00
Commit graph

1077 commits

Author SHA1 Message Date
Deathamns
71b0c22c9d Firefox: fix copy-paste memory leak 2015-04-13 08:37:36 -04:00
Deathamns
ec337b61af Firefox: implement vAPI.app.restart 2015-04-13 08:37:36 -04:00
Deathamns
2a2fa8da75 Code styling 2015-04-13 08:37:36 -04:00
Deathamns
a3b2edf65e Firefox: ownsWeak=true for observers, +minor mods 2015-04-13 08:37:36 -04:00
Deathamns
4f8c0e65e6 Make vAPI.setIcon less Chromium specific 2015-04-13 08:37:36 -04:00
Deathamns
488be6ef3e Popup related changes 2015-04-13 08:37:36 -04:00
Deathamns
749c723d57 Firefox: new method for request handling
Now both nsIContentPolicy and on-http-* observers are used for net request
monitoring.

Reasons:
 - In many cases, nsIContentPolicy.shouldLoad is invoked twice for the same
   resource, because of the speculative parsing.
 - nsIContentPolicy.shouldLoad don't have information about the channel,
   so it can't redirect the request, nor change its headers, however
   on-http-opening-request can.

Also, local mirroring and inline-script blocking has been implemented.
2015-04-13 08:37:36 -04:00
Deathamns
84a0bbf18e Firefox: proper cleanup for context-menu item 2015-04-13 08:37:36 -04:00
Deathamns
0769160b34 Firefox: move callback to last call 2015-04-13 08:37:36 -04:00
Deathamns
c2af79c996 Firefox: saved prefs were overwritten by defaults 2015-04-13 08:37:36 -04:00
Deathamns
6b4a9a1962 Firefox: add missing vAPI.onLoadAllCompleted 2015-04-13 08:37:36 -04:00
Deathamns
4833012ae3 Firefox: improve vAPI.tabs.getTabId 2015-04-13 08:37:36 -04:00
Deathamns
85eded970b Firefox: implement vAPI.contextMenu 2015-04-13 08:37:36 -04:00
Deathamns
dd25e64134 Firefox: revert previous change
Initializing the extension with AddonManager takes too long (at least for
this extension).
When starting the browser, tabs loaded before the extension could, and
because of that, blocking didn't work.
It works better, if it's initialized when the window's DOM is ready.
2015-04-13 08:37:36 -04:00
Deathamns
3ce0d0aded Firefox,Safari: fill vAPI.app in a different way
Pass the extension data (name and version) as the fragment of the URL
for the background script, so vAPI.app can be filled without using XHR
to read the manifest files.
2015-04-13 08:37:36 -04:00
Deathamns
feea508a8e Firefox: location.host isntead of app.cleanName 2015-04-13 08:37:36 -04:00
Deathamns
fb2cb5c41c Add license headers, plus some code styling 2015-04-13 08:37:36 -04:00
Deathamns
6eaa7e02b8 Firefox: minor changes 2015-04-13 08:37:36 -04:00
Deathamns
f17ad2f1a5 Firefox: implement vAPI.tabs.injectScript 2015-04-13 08:37:36 -04:00
Deathamns
4e1b938f25 Firefox: 'load' -> 'DOMContentLoaded' 2015-04-13 08:37:36 -04:00
Deathamns
e0d742b040 Firefox: initialize buttons when DOM is ready 2015-04-13 08:37:36 -04:00
Deathamns
f432dfa856 Firefox: observe main_frame requests too 2015-04-13 08:37:36 -04:00
Deathamns
7348d11871 Firefox: fix styling for toolbar button 2015-04-13 08:37:35 -04:00
Deathamns
e2105c395e Firefox: implement toolbar button and popup 2015-04-13 08:37:35 -04:00
Deathamns
055c398916 Firefox: blocking and content scripts for e10s 2015-04-13 08:37:35 -04:00
Deathamns
e724d1a9e2 Firefox: add basic blocking + some fixes 2015-04-13 08:37:35 -04:00
Deathamns
a6b4e3dee0 Firefox: partial vAPI.tabs implementation 2015-04-13 08:37:35 -04:00
Deathamns
cba32c8eb4 Firefox: implement vAPI.storage via SQLite 2015-04-13 08:37:35 -04:00
Deathamns
54868d149a Initial Firefox port (base, messaging, locales) 2015-04-13 08:37:35 -04:00
Deathamns
08403a44f8 Implement vAPI.insertHTML
The purpose of this API is basically to satisfy AMO reviewers in the
future, since the use of innerHTML with variables (i.e., not plain text) will
be rejected without any questions.

Since this is not a problem for browsers other than Firefox, they will
use simple innerHTML assignment, however safe-parsing could be implemented
for them too.
2015-04-13 08:35:57 -04:00
Deathamns
bbfcb4eea9 abp:subscribe fixes
Test a[href^="abp:"], since the protocol probably not used for anything
else, also "a", because ABP checks only anchors, and these links are made
only for ABP.

Also, the event target is not always the link, so at least some parents
should be tested as well.
2015-04-13 08:35:51 -04:00
Deathamns
aff7501596 Firefox: different kind of vAPI.localStorage 2015-04-13 08:35:51 -04:00
Deathamns
10f364c153 Firefox,Safari: vAPI.localStorage 2015-04-13 08:35:51 -04:00
gorhill
c80280bd2d this fixes #792 2015-04-13 08:35:51 -04:00
Deathamns
c9b1298344 Remove unnecessary fallback code for downloading 2015-04-13 08:35:51 -04:00
gorhill
c6e3b5a81b Firefox: oops 2015-04-13 08:35:51 -04:00
gorhill
3e43478e13 changes re #993 for firefox platform 2015-04-13 08:35:51 -04:00
Deathamns
829f80e1da Fix prorblems caused by vAPI.insertHTML 2015-04-13 08:35:51 -04:00
Deathamns
618502354f Implement vAPI.insertHTML
The purpose of this API is basically to satisfy AMO reviewers in the
future, since the use of innerHTML with variables (i.e., not plain text) will
be rejected without any questions.

Since this is not a problem for browsers other than Firefox, they will
use simple innerHTML assignment, however safe-parsing could be implemented
for them too.
2015-04-13 08:35:51 -04:00
Deathamns
e2c0beb663 Miscellaneous changes 2015-04-13 08:35:51 -04:00
Deathamns
3dc8e88c75 Popup related changes 2015-04-13 08:35:51 -04:00
Deathamns
9cb78c2575 Add license headers, plus some code styling 2015-04-13 08:35:51 -04:00
Deathamns
7c69a427c2 Firefox: implement toolbar button and popup 2015-04-13 08:35:51 -04:00
Deathamns
799aafbcd4 Firefox: implement vAPI.storage via SQLite 2015-04-13 08:35:51 -04:00
Deathamns
e98b514a51 Initial Firefox port (base, messaging, locales) 2015-04-13 08:35:51 -04:00
gorhill
db49291fa6 this fixes https://github.com/chrisaljoudi/uBlock/issues/1219 for Firefox 2015-04-13 08:35:45 -04:00
gorhill
2fbca2cc09 forgot to add shutdown to other platforms (re. https://github.com/gorhill/uMatrix/issues/144) 2015-04-13 08:35:45 -04:00
Deathamns
afaf6aff9b vAPI.sessionId, element-picker dialog as iframe
vAPI.sessionId - random ID generated every time when a page loads.

Having the dialog in an iframe lowers the chance of interference with the
styling of the page, also avoids using innerHTML (AMO complaint).
2015-04-13 08:35:45 -04:00
Chris
0fbaf41d09 Remove previous Safari overhead; cleanup workarounds from rest of code 2015-04-13 08:35:45 -04:00
Deathamns
4b3d6716ff Firefox: remove evalInSandbox
Probably we won't eval plain text code, which makes it unnecessary, also
this way the validator on AMO won't complain about it.
2015-04-13 08:35:45 -04:00