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

586 commits

Author SHA1 Message Date
Deathamns a6acb50892 Firefox: fixed content scripts? 2015-04-13 08:35:45 -04:00
Deathamns 5f92ce4599 Firefox: improvements for content scripts 2015-04-13 08:35:45 -04:00
Deathamns 1a1d1b1c4b Code styling 2015-04-13 08:35:45 -04:00
Deathamns 3e39e1bd9f 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:35:45 -04:00
Deathamns e70bf61206 Add license headers, plus some code styling 2015-04-13 08:35:45 -04:00
Deathamns 1ae15f1a61 Firefox: implement vAPI.tabs.injectScript 2015-04-13 08:35:45 -04:00
Deathamns 747f6f9955 Firefox: implement toolbar button and popup 2015-04-13 08:35:45 -04:00
Deathamns e96e535f3d Firefox: add basic blocking + some fixes 2015-04-13 08:35:45 -04:00
Deathamns dd6f3cc4b3 Firefox: partial vAPI.tabs implementation 2015-04-13 08:35:45 -04:00
Deathamns 8f0cf1d340 Initial Firefox port (base, messaging, locales) 2015-04-13 08:35:45 -04:00
AlexVallat cc85464eb5 Tidying .xul location, update linux script to match windows one 2015-04-13 08:35:19 -04:00
gorhill e4688ecf22 this fixes https://github.com/chrisaljoudi/uBlock/issues/1219 for Firefox 2015-04-13 08:35:08 -04:00
Deathamns 2b365ec4c1 Firefox: update application versions 2015-04-13 08:35:04 -04:00
AlexVallat 15df6b8e4f Initial UI support for Fennec 2015-04-13 08:35:04 -04:00
Deathamns 6812ed591a Firefox/Fennec code cleanup 2015-04-13 08:35:04 -04:00
Cheng Sun cce2e85eeb Fennec WIP #2 2015-04-13 08:35:04 -04:00
Deathamns 0397ea0eac Remove unused code 2015-04-13 08:35:04 -04:00
Deathamns ab0b1936b4 Firefox: get the version number from the fragment 2015-04-13 08:35:04 -04:00
Deathamns ad19bae5e1 Firefox: add localized descriptions to install.rdf 2015-04-13 08:35:04 -04:00
Deathamns 2f7be81668 Firefox: minimal effort to support older versions 2015-04-13 08:35:04 -04:00
Deathamns 839c6300b8 Miscellaneous changes 2015-04-13 08:35:04 -04:00
Deathamns 8b01ed93ed Firefox: update manifest files when building 2015-04-13 08:35:04 -04:00
Deathamns 2750dac88c Firefox: implement toolbar button and popup 2015-04-13 08:35:04 -04:00
Deathamns 691c261118 Firefox: partial vAPI.tabs implementation 2015-04-13 08:35:04 -04:00
Deathamns ee210ad15c Firefox: implement vAPI.storage via SQLite 2015-04-13 08:35:04 -04:00
Deathamns 91ad0d65a8 Initial Firefox port (base, messaging, locales) 2015-04-13 08:35:03 -04:00
AlexVallat 8af9d7f361 Use a nsIWebProgressListener instead of a tabsProgressListener for location change monitoring 2015-04-13 08:34:45 -04:00
Deathamns 8c9382d4db Firefox: load content-scripts on extension start 2015-04-13 08:34:45 -04:00
Deathamns 9aaee014d4 Miscellaneous changes 2015-04-13 08:34:45 -04:00
Deathamns 9317615bc7 Firefox: improvements for content scripts 2015-04-13 08:34:45 -04:00
Deathamns 3646ecbeb2 Code styling 2015-04-13 08:34:45 -04:00
Deathamns e9b3b5bcd2 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:34:45 -04:00
Deathamns 24bc4c9f47 Remove duplicate 'use strict'; 2015-04-13 08:34:45 -04:00
Deathamns dced33ca44 Add license headers, plus some code styling 2015-04-13 08:34:45 -04:00
Deathamns bc199316be Firefox: implement toolbar button and popup 2015-04-13 08:34:45 -04:00
Deathamns 41f3579461 Firefox: blocking and content scripts for e10s 2015-04-13 08:34:45 -04:00
Deathamns 05f174ab97 Firefox: add basic blocking + some fixes 2015-04-13 08:34:45 -04:00
Deathamns ac201e2f8e Firefox: partial vAPI.tabs implementation 2015-04-13 08:34:45 -04:00
Deathamns 3b5826fe75 Firefox: implement vAPI.storage via SQLite 2015-04-13 08:34:45 -04:00
Deathamns 24163694f4 Firefox: implement content scripts 2015-04-13 08:34:45 -04:00
Deathamns efb4b98986 Initial Firefox port (base, messaging, locales) 2015-04-13 08:34:45 -04:00
gorhill beb70b8343 code review 2015-04-13 08:34:39 -04:00
gorhill a26c893339 this fixes #43 2015-04-13 08:34:39 -04:00
gorhill 73dc3ba2b0 removed spurious lines of code 2015-04-13 08:34:39 -04:00
gorhill 231afb565a translation work from https://crowdin.com/project/ublock 2015-04-13 08:34:39 -04:00
AlexVallat 75ac4b979e Changes following review 2015-04-13 08:34:39 -04:00
gorhill 22bad6201e translation work from https://crowdin.com/project/ublock 2015-04-13 08:34:26 -04:00
AlexVallat 822d78be1b More restrictive monitoring.
Probably doesn't make a difference, but at least theoretically more efficient.
2015-04-13 08:34:26 -04:00
AlexVallat c5546e322f Use a nsIWebProgressListener instead of a tabsProgressListener for location change monitoring 2015-04-13 08:34:26 -04:00
Deathamns fd3e24713f Firefox: load content-scripts on extension start 2015-04-13 08:34:26 -04:00
Deathamns d3223766c8 Firefox: abp:subscribe 2015-04-13 08:34:26 -04:00
gorhill 7243aedf17 this fixes #224 for Chromium 2015-04-13 08:34:26 -04:00
Deathamns b1acfb08e6 Firefox/Fennec fixes 2015-04-13 08:34:26 -04:00
Deathamns 7b5ea26f28 Firefox/Fennec code cleanup 2015-04-13 08:34:26 -04:00
Deathamns df2ffce8aa Firefox: match Chrome's behavior with frame ids 2015-04-13 08:34:26 -04:00
gorhill 1b66ce8b40 #795: code review as per @Deathamns feedback 2015-04-13 08:34:26 -04:00
gorhill 0f629c9df8 this fixes #795 2015-04-13 08:34:26 -04:00
Deathamns a6dfe3f416 Firefox: remove unused arguments 2015-04-13 08:34:26 -04:00
Deathamns 1e6f29e64e Firefox: don't close popups after user interaction 2015-04-13 08:34:26 -04:00
Deathamns 052f296181 Doesn't work 2015-04-13 08:34:26 -04:00
Deathamns eecc860be7 Firefox: use correct data for parentFrameId 2015-04-13 08:34:25 -04:00
Deathamns 65cecfe263 Firefox: each frame should have a unique ID 2015-04-13 08:34:25 -04:00
Deathamns 45cd3305d1 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:34:25 -04:00
Deathamns cd52352995 Update frameModule.js 2015-04-13 08:34:25 -04:00
Deathamns 92838e16d3 Firefox: behind-the-scene requests / non-http tabs 2015-04-13 08:34:25 -04:00
Deathamns ae66f96570 Firefox: minimal effort to support older versions 2015-04-13 08:34:25 -04:00
Deathamns 6250109a78 Firefox: fix tab closing issue (pop-up blocking) 2015-04-13 08:34:25 -04:00
gorhill f482164601 removed unused code for the time being 2015-04-13 08:34:25 -04:00
Deathamns c46d25874d URL handling changes 2015-04-13 08:34:25 -04:00
Deathamns 46883756e5 Miscellaneous changes 2015-04-13 08:34:25 -04:00
Deathamns f51bb42fa4 Firefox: fixed content scripts? 2015-04-13 08:34:25 -04:00
Deathamns de1f643510 Firefox: improvements for content scripts 2015-04-13 08:34:25 -04:00
Deathamns f570bc7f48 Firefox: simplify vAPI.app.restart 2015-04-13 08:34:25 -04:00
Deathamns 6571a0700f Firefox: workaround for the e10s crash 2015-04-13 08:34:25 -04:00
Deathamns 9f4e9d48da Firefox: blocking improvements / other fixes
- Implement pop-up blocking
- Support blocking redirected requests
- Fix Local mirroring and inline-script blocking
- Block content on data: and about:blank pages
2015-04-13 08:34:25 -04:00
Deathamns 40b191e9f4 Code styling 2015-04-13 08:34:25 -04:00
Deathamns de2f0bb292 Firefox: ownsWeak=true for observers, +minor mods 2015-04-13 08:34:25 -04:00
Deathamns 1b71f8bba3 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:34:25 -04:00
Deathamns 08f87c72bb Fix build scipts' shebang, let -> const 2015-04-13 08:34:25 -04:00
Deathamns 54d264646a Firefox: better way to get the messageManager 2015-04-13 08:34:25 -04:00
Deathamns 6faa9e85c2 Add license headers, plus some code styling 2015-04-13 08:34:25 -04:00
Deathamns afe6a29c36 Firefox: minor changes 2015-04-13 08:34:25 -04:00
Deathamns 0579c1bcaa Firefox: fix script injection 2015-04-13 08:34:25 -04:00
Deathamns d66b8aa329 Firefox: implement vAPI.tabs.injectScript 2015-04-13 08:34:25 -04:00
Deathamns 12ca303901 Firefox: fix 'main_frame' for e10s 2015-04-13 08:34:25 -04:00
Deathamns 0fd304947c Firefox: initialize buttons when DOM is ready 2015-04-13 08:34:25 -04:00
Deathamns 500213f479 Firefox: observe main_frame requests too 2015-04-13 08:34:25 -04:00
Deathamns 33c052e397 Firefox: fix styling for toolbar button 2015-04-13 08:34:25 -04:00
Deathamns 4f7070cf5d Firefox: implement toolbar button and popup 2015-04-13 08:34:25 -04:00
Deathamns 7f422ae479 Firefox: blocking and content scripts for e10s 2015-04-13 08:34:25 -04:00
gorhill 38a1cce634 this fixes https://github.com/chrisaljoudi/uBlock/issues/1219 for Firefox 2015-04-13 08:34:15 -04:00
Deathamns 5ab3550697 Firefox: minor changes 2015-04-13 08:34:15 -04:00
Deathamns 7310e1eaa0 Firefox: update manifest files when building 2015-04-13 08:34:15 -04:00
Deathamns c5517fa6b4 Firefox: add basic blocking + some fixes 2015-04-13 08:34:15 -04:00
Deathamns c1cfdc61da Initial Firefox port (base, messaging, locales) 2015-04-13 08:34:15 -04:00
gorhill 13eb2edb59 as per comment in e762a29d30 2015-04-13 08:34:04 -04:00
gorhill 031f6a90ee #10: manually imported fixes from e762a29d30 2015-04-13 08:34:04 -04:00
gorhill 1ab6e08f71 this fixes https://github.com/chrisaljoudi/uBlock/issues/1219 for Firefox 2015-04-13 08:34:04 -04:00
Deathamns 0369bf4b6a Firefox: fix extension restarting 2015-04-13 08:34:04 -04:00
Deathamns 5cac2aea84 Firefox: get the version number from the fragment 2015-04-13 08:34:04 -04:00
Deathamns 73945064ed Firefox: initialize when hiddenDOMWindow is ready
Probably not the best way to detect its readiness, but it works for now.
This fix should solve the incompatibility with the StartupMaster add-on.
2015-04-13 08:34:04 -04:00
Deathamns 56bac7a565 URL handling changes 2015-04-13 08:34:04 -04:00
Deathamns 6123cc8e15 Firefox: simplify vAPI.app.restart 2015-04-13 08:34:04 -04:00
Deathamns 6c06436452 Firefox: popup size for menu-panel 2015-04-13 08:34:04 -04:00
Deathamns 4090805223 Firefox: implement vAPI.app.restart 2015-04-13 08:34:04 -04:00
Deathamns ff7c9e96ae Code styling 2015-04-13 08:34:04 -04:00
Deathamns 37a9f4d762 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:34:04 -04:00
Deathamns 81c710c360 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:34:04 -04:00
Deathamns a9b91ee0b6 Add license headers, plus some code styling 2015-04-13 08:34:04 -04:00
Deathamns 29d2cdc015 Firefox: initialize buttons when DOM is ready 2015-04-13 08:34:04 -04:00
Deathamns 8e5850423c Firefox: implement toolbar button and popup 2015-04-13 08:34:04 -04:00
Deathamns 94a47e7d4d Firefox: partial vAPI.tabs implementation 2015-04-13 08:34:04 -04:00
Deathamns ae36081605 Initial Firefox port (base, messaging, locales) 2015-04-13 08:34:04 -04:00
gorhill 19ddf588fb i18n work 2015-04-12 07:06:50 -04:00
gorhill ed67045360 first pass 2015-04-11 17:15:57 -04:00
gorhill a5d051de3f this fixes #792 2015-04-10 19:39:22 -04:00
Deathamns 7ef116e85b Remove unnecessary fallback code for downloading 2015-04-10 19:39:22 -04:00
Chris 33ffb83f23 Fix vAPI.download across all platforms 2015-04-10 19:39:22 -04:00
gorhill daede90cc7 this helps #993 2015-04-10 19:39:22 -04:00
gorhill 72a3819c08 #685: code review 2015-04-10 19:39:22 -04:00
Deathamns 32ad9420de Chrome: bypass options_ui 2015-04-10 19:39:22 -04:00
Deathamns 86cae37cb6 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-10 19:39:22 -04:00
Deathamns d789ffa442 Popup related changes 2015-04-10 19:39:22 -04:00
Deathamns 1807c74580 Add license headers, plus some code styling 2015-04-10 19:39:22 -04:00
Raymond Hill 4c12408b1e jshint 2015-04-10 19:39:22 -04:00
Raymond Hill 09123d6971 use "platform" as suggested in #360 2015-04-10 19:39:22 -04:00
gorhill 9bb22b65ec forgot to add shutdown to other platforms (re. https://github.com/gorhill/uMatrix/issues/144) 2015-04-10 19:37:30 -04:00
gorhill dd60a74e3f code review 2015-04-10 19:37:30 -04:00
gorhill 987acfef65 this fixes https://github.com/gorhill/uMatrix/issues/144 2015-04-10 19:37:30 -04:00
YFdyh000 5ff7909497 Correct issue links 2015-04-10 19:37:30 -04:00
gorhill 170f164288 had a doubt, had to check it worked as intended 2015-04-10 19:37:30 -04:00
Deathamns 4599486290 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-10 19:37:30 -04:00
Chris db772dea22 Remove previous Safari overhead; cleanup workarounds from rest of code 2015-04-10 19:37:30 -04:00
gorhill 894921e23f not needed 2015-04-10 19:37:30 -04:00
Deathamns bd0b1638db URL handling changes 2015-04-10 19:37:30 -04:00
gorhill 9172fcd049 this fixes one part of #498 2015-04-10 19:37:30 -04:00
Deathamns 3d40e0b2aa Code styling 2015-04-10 19:37:30 -04:00
Deathamns 5ec2e067df Add license headers, plus some code styling 2015-04-10 19:37:30 -04:00
Deathamns ba47f39c47 Firefox: implement vAPI.tabs.injectScript 2015-04-10 19:37:30 -04:00
Deathamns 9c00fbfb3b Firefox: implement toolbar button and popup 2015-04-10 19:37:30 -04:00
gorhill 06398e8065 code review for #456 2015-04-10 19:37:30 -04:00
gorhill a036152cc7 this fixes #456: another unrelated bug unveil from previous fix 2015-04-10 19:37:30 -04:00
Raymond Hill 3d61e80d1c jshint 2015-04-10 19:37:30 -04:00
Raymond Hill 61fb46a87f use "platform" as suggested in #360 2015-04-10 19:37:30 -04:00
gorhill ef67930454 refactored tabs/context code 2015-04-10 19:34:15 -04:00
YFdyh000 01df7aa50a Correct issue links 2015-04-10 19:34:15 -04:00
gorhill 88feb450cc new switch: toggle cosmetic filtering on/off for a site 2015-04-10 19:34:15 -04:00
gorhill 12fcc2d4f3 this fixes #1128 2015-04-10 19:34:15 -04:00
gorhill ce549b283a this fixes #1013, #1062 (draft) 2015-04-10 19:34:15 -04:00
gorhill 607c977da2 to catch slow popups 2015-04-10 19:34:15 -04:00
gorhill 49f6504f58 code review 2015-04-10 19:34:15 -04:00
gorhill 415857c55b code review: floating net requests recategorized as behind-the-scene 2015-04-10 19:34:15 -04:00
gorhill 58c546ae08 #1051: test only root frames 2015-04-10 19:34:15 -04:00
gorhill 6ef4821b73 this fixes #510 2015-04-10 19:34:15 -04:00
Deathamns d1f5a78ca2 Chrome: fix tab/window focusing issues
- Opening a tab from incognito window didn't focus the target window
- Previously active tab was visible for a brief moment when an already
  opened tab was selected from another window
2015-04-10 19:34:15 -04:00
gorhill df27e666a7 code review re #118 2015-04-10 19:34:15 -04:00
Deathamns 390733affe Chrome: don't open an Options tab for each window 2015-04-10 19:34:15 -04:00
Deathamns 04a2486ca9 Remove unnecessary fallback code for downloading 2015-04-10 19:34:15 -04:00
gorhill 58793e4d7c this helps #993 2015-04-10 19:34:15 -04:00
gorhill 806d89e443 this fixes #967 2015-04-10 19:34:15 -04:00
Deathamns 193b469ffe Trailing whitespace 2015-04-10 19:34:15 -04:00
gorhill b5e7c9cd03 code review 2015-04-10 19:34:15 -04:00
gorhill ca8d24fb08 this fixes #862 2015-04-10 19:34:15 -04:00
gorhill 754aa6cd8b move profiling code to platform-specific 2015-04-10 19:34:15 -04:00
gorhill 6123bff635 link to relevant jsperf 2015-04-10 19:34:15 -04:00
gorhill b66683a581 avoid closures when processing messages 2015-04-10 19:34:15 -04:00
gorhill 184aec1409 code review 2015-04-10 19:34:15 -04:00
gorhill a0de897608 code review: jshint'ed 2015-04-10 19:34:14 -04:00
gorhill d50594e7eb this fixes #536 2015-04-10 19:34:14 -04:00
gorhill 529258de44 started work on #105, #475, and possibly #510 2015-04-10 19:34:14 -04:00
gorhill f4a853c611 this fixes one part of #498 2015-04-10 19:34:14 -04:00
Deathamns 14950c0c5f Code styling 2015-04-10 19:34:14 -04:00
Deathamns 847f86f947 Make vAPI.setIcon less Chromium specific 2015-04-10 19:34:14 -04:00
Deathamns c04c4ad4ab Chrome,Safari: fix typo and quotes 2015-04-10 19:34:14 -04:00
Deathamns 42d69aba2d Add license headers, plus some code styling 2015-04-10 19:34:14 -04:00
Deathamns 706a51c211 Firefox: blocking and content scripts for e10s 2015-04-10 19:34:14 -04:00
gorhill c752853031 lot of work related to dynamic filtering + new net requests logger 2015-04-10 19:34:14 -04:00
gorhill ed30222601 this fixes #455 2015-04-10 19:34:06 -04:00
gorhill 2a108917b5 another round of work re dynamic filtering 2015-04-10 19:34:06 -04:00
gorhill ce9acac0ae this fixes #418; also remove last chrome API reference from portable code 2015-04-10 19:34:06 -04:00
Raymond Hill 9515769fb5 extension restart is platform-dependent 2015-04-10 19:34:06 -04:00
Raymond Hill dccbbb3879 remove depending on vapi-appinfo.js 2015-04-10 19:34:06 -04:00
Raymond Hill c168d050f0 code review, fixes #383 2015-04-10 19:34:06 -04:00
Raymond Hill 6d5361cebc this fixes #380 2015-04-10 19:34:06 -04:00
Raymond Hill 97ca80d8bc use "platform" as suggested in #360 2015-04-10 19:34:06 -04:00
gorhill 63aa4be9f7 reorganizing, preparing move to vAPI 2015-04-10 17:06:49 -04:00