Commit graph

6790 commits

Author SHA1 Message Date
Raymond Hill
7ea6f9dd0a Merge pull request #367 from ialexsilva/patch-1
Update from crowdin
2014-11-17 01:12:39 -02:00
Alex Silva
f89ac7cf48 Update from crowdin 2014-11-17 01:04:59 -02:00
Raymond Hill
0d920e4e44 code review 2014-11-16 22:40:34 -02:00
Raymond Hill
17044ebdd9 put back obsolete JPN list for the time being 2014-11-16 21:39:56 -02:00
Raymond Hill
81a0052f39 remove code failing at trying to be smart re. obsolete filter lists 2014-11-16 21:27:48 -02:00
Raymond Hill
458e0abec2 redirection is not working, avoid it for now 2014-11-16 21:13:04 -02:00
Raymond Hill
4eab87a6a3 put back obsolete list until all moved to new 2014-11-16 20:39:21 -02:00
Raymond Hill
d54e8f1c83 updated checksums 2014-11-16 20:30:36 -02:00
Raymond Hill
7be60a89cd removing obsolete filter list 2014-11-16 20:29:45 -02:00
Raymond Hill
94ffaafd98 Merge pull request #366 from xupefei/master
New URL for Japanese filter
2014-11-16 20:28:14 -02:00
Paddy Xu
805fa7aab5 Add "old" property to the new URL and remove the old one 2014-11-16 23:10:55 +01:00
Paddy Xu
19d1297380 Add new URL for AdBlock Japanese filter 2014-11-16 22:44:17 +01:00
Paddy Xu
133efcf11f "の" in Japanese is "'s", should be removed 2014-11-16 22:14:40 +01:00
Raymond Hill
1626051299 now it's fixed... 2014-11-16 17:22:27 -02:00
Raymond Hill
c4838581fd this fixes #365 2014-11-16 17:06:29 -02:00
Raymond Hill
f88d1849d0 fix bug introduced in 338bf59507 2014-11-16 17:04:37 -02:00
Raymond Hill
370ff5aee8 updated according to new project layout 2014-11-16 14:41:20 -02:00
Raymond Hill
adbc0ee2aa code review 2014-11-16 14:39:38 -02:00
Raymond Hill
91276bebfb eliminate overhead of creating two funcs/closure for each port connection 2014-11-16 12:49:55 -02:00
Raymond Hill
338bf59507 give specific message handlers priority over default one 2014-11-16 11:09:28 -02:00
Raymond Hill
2b957dc389 respect project layout as set by @Deathamns 2014-11-16 08:47:47 -02:00
Raymond Hill
84c069dfaa continued: corralling platform-specific stuff into their meta folder 2014-11-16 00:21:13 -02:00
Raymond Hill
eafc96859c further separate platform-specific code 2014-11-15 16:15:11 -02:00
Raymond Hill
8444923c0c forgot to push 3rd-party assets 2014-11-15 16:10:46 -02:00
Raymond Hill
a515c99cbf we need this for installed clients until uAssets 2014-11-14 08:59:16 -05:00
Raymond Hill
54a91b9374 Merge pull request #360 from Deathamns/ports/safari
Portability
2014-11-14 08:32:02 -05:00
Deathamns
8f0b3cf592 Move MutationObserver shim
Since it will be used only for older Safari versions, move it to Safari
related code, so it doesn't pollute the content scripts.
2014-11-12 10:22:57 +01:00
Deathamns
36ad23a1db Respect defer attribute when mirroring 2014-11-11 16:33:50 +01:00
Deathamns
812da0900e Call XHR.open even if the request will be blocked
Without calling it an error may be thrown if other XHR parameters are set.
2014-11-11 16:32:17 +01:00
Deathamns
8edb628e1e Only top window should have type main_frame 2014-11-11 13:33:55 +01:00
Deathamns
2024ba1bcd Fix wrong fix in 4bf6664 2014-11-10 19:25:17 +01:00
Deathamns
41ae0c08c7 Building missed a file for Safari 2014-11-10 12:04:03 +01:00
Deathamns
fb0cacb44d Remove unnecessary messaging workaround
A better fix was introduced in e36c702 for this issue.

The actual problem was that Safari when sends a message from the
background to content, then it passes to all the frames in the target tab,
but it doesn't make copies, it passes only references to the same object,
so if one frame modifies the message, then other frames would have
received the modified message.
2014-11-10 08:11:49 +01:00
Deathamns
4c9f2b81d7 Add .gitignore 2014-11-09 19:29:58 +01:00
Deathamns
0d9d285608 Building extension files
Adds possibility to build extension files (Chrome and Safari) from
command line.

To run from the project directory:
python tools/build.py [meta]

If the optional `meta` argument is set, then only the manifest and
language files are uptated.
Without that everything is being built (extension files too) into the
`dist/build/version_number` folder.

For Chrome there will be two files, a crx, and a .zip file which
includes the key.pem private key (so this must not be shared,
it's just a bit help for publishing it to the Chrome Web Store).

Beside the extension files, update-files are generated too (for self
hosting - Safari needs it).
2014-11-09 18:58:46 +01:00
Deathamns
4bf6664d6b Fix double definition of length property in uDom
The `length` property of `DOMList` couldn't be re-defined, because earlier
an Object.defineProperty was used on the object without a setter.
2014-11-09 17:41:09 +01:00
Deathamns
30ef97a678 Fix messaging for Safari 2014-11-09 17:41:07 +01:00
Deathamns
6f2e449e61 Preferences button for Safari
Brings back the possibility to click a checkbox which opens the extension
settings from Safari's Preferences/Extensions.
2014-11-09 17:41:05 +01:00
Deathamns
e36c7022cf 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.
2014-11-09 17:41:04 +01:00
Deathamns
d98a8161f9 Drop js-loader, updates from gorhill/uBlock/master 2014-11-09 17:41:02 +01:00
Deathamns
ba0b11aabe 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.
2014-11-09 17:41:00 +01:00
Deathamns
d114bf21e7 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.
2014-11-09 17:40:59 +01:00
Deathamns
e6e3f676e2 Fix toolbar icons for Safari 2014-11-09 17:40:57 +01:00
Deathamns
7f57684e2b document.head isn't always available in Safari 2014-11-09 17:40:56 +01:00
Deathamns
bccf3d68e2 Add dummy MutationObserver shim for older browsers 2014-11-09 17:40:54 +01:00
Deathamns
64c37ccd1d Badge number sometimes disappeared in Safari 2014-11-09 17:40:52 +01:00
Deathamns
56be0b6025 Remove unwanted bottom padding from Chrome's popup 2014-11-09 17:40:49 +01:00
Deathamns
99d8f431d5 input[type="file"].click() didn't work in Safari
Click couldn't be initiated with JavaScript in Safari if the input was
hidden with display: none. Using visibility: hidden or opacity: 0 solves
the problem.

Alternative solution would be to hide (opacity: 0) the input and slide it
(position: absolute; top: 0; left: 0; width: 100%; height: 100%) over the
button, which would work in all browsers, and wouldn't require JavaScript.
2014-11-09 17:40:48 +01:00
Deathamns
54749b31fb Building Info.plist was missing 2014-11-09 17:40:46 +01:00
Deathamns
f6f85ec793 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).
2014-11-09 17:40:44 +01:00