Commit Graph

8061 Commits

Author SHA1 Message Date
Raymond Hill 128c6174a3
New revision for dev build 2020-08-02 12:32:40 -04:00
Raymond Hill 23332400f5
Improve annotations for search operations in CodeMirror editor
Before this commit, CodeMirror's add-on for search occurrences
was limited to find at most 1000 first occurrences, because of
performance considerations.

This commit removes this low limit by having the search
occurrences done in a dedicated worker. The limit is now
time-based, and highly unlikely to ever be hit under normal
condition.

With this change, all search occurrences are gathered,
and as a result:

- All occurrences are reported in the scrollbar instead of
just the 1,000 first

- The total count of all occurrences is now reported, instead
of capping at "1000+".

- The current occurrence rank at the cursor or selection
position is now reported -- this was not possible to report
this before.

The number of occurrences is line-based, it's not useful to
report finer-grained occurences in uBO.
2020-08-02 12:18:01 -04:00
Raymond Hill 90c7e79f4f
Consolidate filter list reverse lookup code into a single file
Since it's possible to execute specific code paths according
to whether the context is that of a worker or not, it's possible
to keep the main/thread code in a single file. Keeping the
main/worker code paths into a single file is more convenient
for both code maintenance and code review.
2020-08-01 10:32:40 -04:00
Raymond Hill 7dd48a6c8c
Allow `:upward()` operator to select `html` element
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/hvwwj0/element_hiding_by_url_not_by_domain_is_it_possible/fyzykw0/
2020-07-30 11:58:49 -04:00
Raymond Hill 2931b4181f
Make Firefox dev build auto-update 2020-07-29 09:40:48 -04:00
Raymond Hill eddfbf9a18
New revision for dev build 2020-07-29 09:27:13 -04:00
Raymond Hill aa37166ae7
Code review re. content scripts in about:blank frames
Related commit:
- 3b72c7cb04
2020-07-29 07:38:49 -04:00
Raymond Hill 3632c1821e
Tabs opened from about:newtab are not popup candidates
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1184
2020-07-29 07:13:08 -04:00
Raymond Hill 188ccb4a04
Make Firefox dev build auto-update 2020-07-27 13:40:56 -04:00
Raymond Hill 9a8f1678e5
New revision for dev build 2020-07-27 13:34:35 -04:00
Raymond Hill 9447829eb1
Fix regression causing logger to fail to report cosmetic filters
Related commit:
- 5c68867b92
2020-07-27 13:30:57 -04:00
Raymond Hill 7506c5dd70
Make Firefox dev build auto-update 2020-07-27 10:50:52 -04:00
Raymond Hill 5d9a3efd17
New revision for dev build 2020-07-27 10:40:27 -04:00
Raymond Hill 7c63f252d0
Add more cases to static filtering checklist 2020-07-27 10:32:55 -04:00
Raymond Hill 3df978ffd5
Make usage of space more strict in network filter patterns
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1118

Usage of space in network filter patterns will now be
strictly interpreted as the filter being a hosts file
entry.

Usage of space in any other scenario will cause the
pattern of the network filter to be rejected as
erroneous.
2020-07-27 10:20:11 -04:00
Raymond Hill 44ecb302bf
Make Firefox dev build auto-update 2020-07-24 19:20:28 -04:00
Raymond Hill 4568ab89ff
New revision for dev build 2020-07-24 19:15:26 -04:00
Raymond Hill e98ea7ea9b
Instantiate procedural filterer instance on demand only
The procedural filterer will be instantiated only when
needed, i.e. only when there are actual procedural
filters to enforce.
2020-07-24 19:08:48 -04:00
Raymond Hill 3b72c7cb04
Ensure `about:` frames use proper origin
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/688

`about:` frames need to lookup and use the inherited
origin from their parent browsing context for proper
lookup of cosmetic filters.
2020-07-24 18:50:12 -04:00
Raymond Hill 779fde8f3a
Make Firefox dev build auto-update 2020-07-24 12:51:06 -04:00
Raymond Hill 72cfc3218a
Import translation work from https://crowdin.com/project/ublock 2020-07-24 12:42:21 -04:00
Raymond Hill 17e5a150fb
New revision for dev build 2020-07-24 12:38:49 -04:00
Raymond Hill 39190ff469
Add Chromium detection for Chromium-based MS Edge
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1174
2020-07-24 12:32:47 -04:00
Raymond Hill 5c68867b92
Deprecate pseudo user styles code
The pseudo user styles code served only browsers based
on Chromium 65 and earlier -- Chromium 66 supports
native user styles and was first released more than two
years ago.

In Chromium-based browsers, the pseudo user styles code
is being unconditionally injected in every page/frame
just in case the browser is version 65 or earlier.

Removing pseudo user styles reduce uBO's main content
script in Chromium-based browsers by more than 20K.

Related thread:
- https://github.com/NanoAdblocker/NanoCore/issues/348#issuecomment-653646507
2020-07-22 10:21:16 -04:00
Raymond Hill 603bd2da8b
Make Firefox dev build auto-update 2020-07-21 08:10:29 -04:00
Raymond Hill 3839d05a99
Auto-update most obsolete asset first
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1165
2020-07-21 07:50:36 -04:00
Raymond Hill 4832552950
New revision for dev build 2020-07-21 07:15:27 -04:00
Raymond Hill f55c891d54
Avoid returning a value when injected as content script 2020-07-20 17:28:33 -04:00
Raymond Hill bf01fc737d
urlhaus blocklist CDNs: remove githack, add github, gitlab 2020-07-20 12:52:41 -04:00
Raymond Hill c805950ecf
Fix the logging of cosmetic filters in about:blank frames
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1164
2020-07-20 08:27:00 -04:00
Raymond Hill 85aef306d1
vAPI.tabs.executeScript() can't throw
Related commit:
- aed850978e

No need to mind rejected promise after all,
vAPI.tabs.executeScript() is designed to
not fail -- I had forgotten about this.
2020-07-19 18:38:35 -04:00
Raymond Hill 8d0f84b37a
Make Firefox dev build auto-update 2020-07-19 17:55:36 -04:00
Raymond Hill e200d9c31c
New revision for dev build 2020-07-19 17:49:10 -04:00
Raymond Hill aed850978e
Mind discarded status of tabs when internally handling them
Related discussion:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1652925#c19

Content scripts should not be injected in discarded tabs, and
a discarded tab should treated as if it does not exist.
2020-07-19 17:41:13 -04:00
Raymond Hill 3b46b2532d
Make Firefox dev build auto-update 2020-07-19 09:15:22 -04:00
Raymond Hill a400799115
New revision for dev build 2020-07-19 09:09:19 -04:00
Raymond Hill 221983646e
Injects user styles and content scripts in `about:blank` frames
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/688
- https://github.com/uBlockOrigin/uBlock-issues/issues/1164

`match_about_blank` is now used for content scripts and
user styles.
2020-07-19 09:06:19 -04:00
Raymond Hill fb0a442a9a
Fix improperly initialized counter
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1167

Related commit:
- feabfe3793
2020-07-19 09:01:45 -04:00
Raymond Hill c33de41660
Support multiple trappers to same property in set-constant
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/156
- https://github.com/uBlockOrigin/uBlock-issues/issues/1162

Take into account that a trapped property may have been
already trapped, and if so honour previous trapper
getter/setter.
2020-07-19 08:16:40 -04:00
Raymond Hill 9880b9c18f
Fix too small magnifier
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1092

As a result of earlier redesign, the magnifier ended
up being too small. The size of the magnifier will now
be dependent on the default font size instead of the
parent font size.
2020-07-18 09:50:59 -04:00
Raymond Hill 0549bfaf00
Do not implicitly strict-block when pattern contains no token char
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1147
2020-07-18 09:40:38 -04:00
Raymond Hill 90868e873c
Make Firefox dev build auto-update 2020-07-18 08:26:08 -04:00
Raymond Hill f69231d2c2
Import translation work from https://crowdin.com/project/ublock 2020-07-18 07:59:43 -04:00
Raymond Hill 0c955f57b9
New revision for dev build 2020-07-18 07:49:13 -04:00
Raymond Hill feabfe3793
Do let grow subframe dictionary grow unbound
Related discussion:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1652925

It's not clear the code here will fix the reported
issue, but I did identify that the subframe
dictionary of a very long-lived web page can
theoretically grow unbound.
2020-07-18 07:44:26 -04:00
Raymond Hill cf31d83acf
Remove infinite iframe creation
Bad idea after all, this can cause bandwidth
abuse to GitHub.
2020-07-17 21:16:38 -04:00
Raymond Hill bc60e6c4a2
Shorten URL 2020-07-17 20:27:17 -04:00
Raymond Hill 3e55ffff13
Add infinite iframe-creation test
Location:
https://gorhill.github.io/uBlock/tests/infinite-iframe-creation.html

The test is useful to ensure no runaway memory consumption
in uBO's main process, and is also useful as rough performance
assessment, i.e. we want uBO's main process to be low CPU, etc.

Useful to use with Chromium's Task Manager, which reports both
memory and CPU usage.

Typically to be used with uBO with default settings/lists.
2020-07-17 16:03:49 -04:00
Raymond Hill 6516834051
Add test cases to static filtering checklist 2020-07-17 10:16:40 -04:00
Raymond Hill 3789259fc9
Consider an empty pattern with anchors to be dubious
Related issue:
- https://github.com/ryanbr/fanboy-adblock/issues/1384
2020-07-17 10:08:08 -04:00