Commit Graph

278 Commits (3d535c6c6926efe87888833d05356fedcbe19d0d)
 

Author SHA1 Message Date
Deathamns 3d535c6c69 Messaging fixes
Checking the message name (and connectorId) is mandatory for Safari,
because when the background page sends a response back to a document,
then all the frames in its owner tab will receive the exact same
message, which could confuse the script in some cases.
10 years ago
Deathamns bda4dba902 Use different page navigation detection for Safari
The beforeNavigate event wasn't reliable (sometimes didn't fire, sometimes
fired unnecessary when opening a link with the middle click - which had a
workaround previously, but that's also removed by this commit).

When the event didn't fire, the bindTabToPageStats method didn't run,
and the requests related to the tab weren't blocked.
10 years ago
Deathamns ceb18d4629 Site-patching possibility for Safari
Safari's extension API doesn't provide a way to intercept requests
initiated by plugins, so those cases need special care (or at least the
popular sites).

This commit adds a new JS file (sitepatch-safari.js), which will store the
patches (if it's possible to create one) for specific sites.

As an example, this commit includes a technique for removing in-video ads
from YouTube videos.
10 years ago
Deathamns c0b1565131 Badge number sometimes disappeared in Safari 10 years ago
Deathamns 31f9683d9f Implement pop-up blocking for Safari
It works similarly to the xhr intercepting, except here the window.open
global function is being overridden.
Note that it could only work if the site's Content Security Policy allows
inline scripts, and the script on the webpage doesn't have a copy of the
original window.open function (it can happen only if the page has an
inline script in its head element, where the reference to the original
function can be obtained - likely this cannot be prevented in Safari).
10 years ago
Deathamns 1be99cf58e Remove unnecessary comments 10 years ago
Deathamns 816dca2f33 Script injection, element picker, messaging
- Add script injection to vAPI, plus a raw implementation for Safari
  (element-picker.js requires it)
- Tweak element picker to work with Safari
- Revert a change from previous commit: element-picker.js' background
  message handler (since actually it can have its own messaging channel)
- Don't send "undefined" reponses from background to content
10 years ago
Deathamns 9981c25286 Remove storage change-event listener from Safari
Earlier, a technique was used to open the extension's Options page when
the user clicked a checkbox input at Safari's extension settings. The method was removed because:
- the Options page can be opened via the extension's toolbar button (which
  cannot be disabled in Safari, so it will be there all the time);
- involved more clicks than opening from the toolbar button;
- the string beside the checkbox couldn't be localized.
10 years ago
Deathamns be7668767f Minor changes
- Update assets from gorhill/uBlock/master
- Remove whitespace from element-picker.js
- Simplify code in profiler.js (btw, Date is still needed as fallback
  for older browsers)
- Clarification for Safari's storage where the QUOTA_BYTES came from
10 years ago
Deathamns 35ed9cd853 Work on vendor API abstraction, and near complete Safari support 10 years ago
gorhill 63aa4be9f7 reorganizing, preparing move to vAPI 10 years ago
gorhill 5d311f144b Merge branch 'master' of https://github.com/gorhill/uMatrix 10 years ago
gorhill 056e68da66 this fixes #42 10 years ago
Raymond Hill 9fa4e2b106 Update README.md 10 years ago
gorhill 86441e399a oops 10 years ago
Raymond Hill e7542cda41 Update README.md 10 years ago
gorhill 615ac8608c automated build 10 years ago
gorhill b63c5fd9b2 this fixes #138 10 years ago
gorhill d2ed6778c5 updated 3rd-party assets 10 years ago
gorhill 9f5a327ec8 update of 3rd-party assets 10 years ago
gorhill e8b8ca5861 translation work from crowdin 10 years ago
gorhill 01f7cea94f re #89: fixed using non-compliant color 10 years ago
gorhill 146a796240 this fixes #103 10 years ago
gorhill 991c237404 description too long for the store.. 10 years ago
gorhill 30a2bff2ba translation work from Crowdin 10 years ago
gorhill 7b90a9ab6a updated 3rd-party assets 10 years ago
gorhill c75ac0cf57 new revision 10 years ago
Raymond Hill 3bf0624dc5 Merge pull request #102 from emanueLczirai/semicolon1
missing semicolon
10 years ago
emanueLczirai 7085beb66a missing semicolon 10 years ago
gorhill 09bec60d43 translation work from crowdin 10 years ago
gorhill b1bc91f070 minor edits 10 years ago
gorhill 0770930c6c new revision 10 years ago
gorhill 531a6cda3e screenshot for stores 10 years ago
gorhill 0174955287 comment re potential redundant eval 10 years ago
gorhill fb5d93d207 translation work from Crowdin 10 years ago
gorhill b68ba6d728 this fixes #82 10 years ago
Raymond Hill dec25f57be fixed too long descrption 10 years ago
Raymond Hill 5fe8c04539 translation work from Crowdin 10 years ago
Raymond Hill eab0827e9f new revision 10 years ago
Raymond Hill f0063372c5 this fixes #77 10 years ago
Raymond Hill 5777dc0b15 code review: actually no `file:` should occurs within `https:` doc 10 years ago
Raymond Hill baa8e86fd4 this addresses issue raised in #71 10 years ago
Raymond Hill b62fb94a00 code review 10 years ago
Raymond Hill 44533d77eb this fixes #72 10 years ago
Raymond Hill e39b36beda code review; make strict https break less stuff on new tab page 10 years ago
Raymond Hill 36233c7325 vertical ellispsis instead 10 years ago
Raymond Hill 0a8c37f46a for wiki 10 years ago
Raymond Hill 2b346a3f46 Update README.md 10 years ago
Raymond Hill 10a684faa6 privacy-friendly settings 10 years ago
Raymond Hill ee361ae37f comments 10 years ago