Raymond Hill
b428a25c3f
Add new procedural operator: :min-text-length(x)
...
Where `x` is the minimal text length of the subject
DOM element. DOM elements whose text length is
greater than or equal to `x` will be selected.
The original rationale for such procedural cosmetic
operator[1] is to be able to remove inline script
elements according to a minimum text length using
HTML filtering.
[1] As a result of internal discussion with filter
list maintainers @ uAssets.
2019-06-20 14:11:54 -04:00
Raymond Hill
822e0a133d
Provide visual feedback for invalid entries in "My rules"
...
Related issue:
- https://github.com/gorhill/uBlock/issues/1039
2019-06-19 18:28:44 -04:00
Raymond Hill
be2a950541
Code review of HNTrie/staticNetFilteringEngine
...
- Remove HNTrieContainer class from global context by
storing it as a property of µBlock.
- Use block scope to isolate HNTrie-related constants
from global context.
- Prevent filters which are pure IP address from
being stored in an HNTrie instance -- as this
could cause false positives.
2019-06-19 10:00:19 -04:00
Raymond Hill
7303776757
Use async/await in Matrix.benchmark()
2019-06-19 08:37:48 -04:00
Raymond Hill
cfc2ce333d
Implement bidirectional plain-string trie
...
The bidirectional trie allows storing the right
and left parts of a string into a trie given a
pivot position.
Releated issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/528
Additionally, the mandatory token-at-index-0 rule
for FilterPlainHnAnchored has been lifted, thus
allowing the engine to pick a potentially better token
at any position in the filter string.
***
TODO: Eventually rename `strie.js` to `biditrie.js`.
TODO: Fix dump() method, it currently only show the
right-hand side of a filter string.
2019-06-18 19:16:39 -04:00
Raymond Hill
2eb9b726a5
Fix generichide
not being evaluated for local context
...
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/5704
2019-06-03 06:37:39 -04:00
Raymond Hill
27e8c8d468
Normalize tabless xhr to image/media in onHeadersReceived()
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/610
The service worker-related issue affects both
Chromium/Firefox: the type of resources fetched
from a service worker are uniformly set to
`xmlhttprequest`, hence losing a key piece of
information for the purpose of accurate content
filtering.
2019-05-31 09:02:07 -04:00
Raymond Hill
8828522fe8
Fix errors with cosmetic filter exception in the logger
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/602
2019-05-28 07:21:16 -04:00
Raymond Hill
85b89fbe63
Fix broken import-from-file in Whitelist pane
...
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/bt2d1f/
2019-05-26 08:03:44 -04:00
Raymond Hill
a7bfff03d6
Avoid spurious diff at edit time in "My rules"
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/593
The issue was caused by the lack of empty last line, since
the differ taking into account new line characters.
2019-05-25 10:04:31 -04:00
Raymond Hill
80a8750d35
Select existing "Advanced settings" page if any
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/591
Additionally, I added a link to the logger in the
"About" pane in the dashboard in order to be able
to access the logger without having to go through
the popup panel.
2019-05-25 08:31:06 -04:00
Raymond Hill
fb6d69f543
Discard whole filter with bad csp=
content
...
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/bshn7z/
uBO was just removing the bad option, while the whole
filter needs to be discarded.
2019-05-24 15:41:37 -04:00
Raymond Hill
1e9528e2a6
Fix regression affecting *$csp=
-like filters
...
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/bshn7z/filter_question/
Regression introduced in:
- 3f3a1543ea
2019-05-24 12:15:32 -04:00
Raymond Hill
26708b37c1
Integrate bare-bone filter hit stats in the logger
...
Related issue:
- https://github.com/gorhill/uBlock/issues/983
- https://github.com/gorhill/uBlock/issues/1353
The current implementation reports statistics for all
static filters, and the presentation/featureset is
intentionally minimal: *Do not open issues about this.*
It's still a work in progress and it will be worked on
slowly and thoughtfully over time and as time allows.
Pausing the logger will not pause the collation of
filter hit statistics, thus it is possible to lower
the logger overhead by pausing logger output without
losing filter hit collation.
2019-05-24 11:18:39 -04:00
Raymond Hill
eef76c49ae
Add a link to the remote asset in asset viewer
...
The link will be present if and only if the content
of the currently viewed asset has been fetched from
a remote location.
2019-05-23 19:29:59 -04:00
Raymond Hill
294ea41fde
Import emergency fix 5a29a21c81
in dev build
2019-05-23 10:22:51 -04:00
Raymond Hill
1f398134f9
Minor code reivew of 4430ec11e2
2019-05-23 08:15:26 -04:00
Raymond Hill
7b8c087fdd
Start using async/await where it makes sense
2019-05-22 19:23:04 -04:00
Raymond Hill
4430ec11e2
Rearrange inner loop of static network filtering engine
...
The motivations for the re-arrangement:
- Reducing the number of entry points:
matchStringExactString() has been removed and
matchString() is simply reused with a modifier parameter
to enable matching variants.
- Presumption that most matches, if any, occur early with
the left-most tokens in a URL. This gives a very small
marginal performance gain as per built-in benchmark.
2019-05-22 17:51:03 -04:00
Raymond Hill
e8c2f7eea3
Fix "Close this window" not working on document-blocked page
...
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/breeux/
2019-05-21 18:56:59 -04:00
Raymond Hill
32b04fa262
Re-arrange parsing of type options to be order-independent
...
Related commit:
- 1888033070
This removes the need to place `all` before any negated
type in the list of options.
2019-05-21 14:04:21 -04:00
Raymond Hill
5eff4a027a
Fix https://github.com/gorhill/uBlock/issues/3541
2019-05-20 18:29:28 -04:00
Raymond Hill
1888033070
Add support for all
filter option
...
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/bqnsoa/
The `all` option is equivalent to specifying all
network-based types + `popup`, `document`,
`inline-font`, `inline-script`.
Example from discussion:
||bet365.com^$all
Above will block all network requests, block all popups,
prevent inline fonts/scripts from `bet365.com`. EasyList-
compatible syntax does not allow to accomplish that
semantic when using only `||bet365.com^`.
If using specific negated type options along with `all`,
the order in which the options appear is important. In
such case `all` should always be first, followed by
the negated type option(s).
2019-05-20 13:46:36 -04:00
Raymond Hill
72d9758faa
Ensure the "Filter lists" pane is in sync with update status
...
Related issue:
- https://github.com/gorhill/uBlock/issues/2394
Additionally, I added a new advanced setting to control
how long after launch an auto-update session should be
started -- value is in seconds:
autoUpdateDelayAfterLaunch 180
2019-05-19 18:31:12 -04:00
Raymond Hill
a0ac1b7ee8
Fix handling of data:
for filtering purpose in logger
...
Related issue:
- https://github.com/gorhill/uBlock/issues/2469
2019-05-19 17:00:49 -04:00
Raymond Hill
f677443878
Warn when navigating away from pane with unsaved changes
...
Related issue:
- https://github.com/gorhill/uBlock/issues/3271
When navigating away by clicking another pane tab button,
there will be an embedded warning, which can be ignore
in order to proceed to the new pane, or dismissed by
either clicking on the "Stay" button or anywhere else
in the dashboard.
When navigating away by trying to close the tab, there will
be a built-in browser warning asking for confirmation.
2019-05-19 15:35:00 -04:00
Raymond Hill
1caff7429e
Add optional support for generic procedural cosmetic filters
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/131
The new advanced setting and its default value is:
allowGenericProceduralFilters false
Whenever this setting is toggled, the user is responsible
of forcing a reload of all filter lists so as to allow uBO
to process differently any existing generic procedural
cosmetic filters.
2019-05-18 18:57:32 -04:00
Raymond Hill
ca34bc4f3e
Fix "Revert" button not resetting after saving changes
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/367
2019-05-18 17:48:19 -04:00
Raymond Hill
3cf71835c4
Set default delay for creating selfie to 3 minutes
...
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/bq49zi/
2019-05-18 14:43:44 -04:00
Raymond Hill
f7bbc80717
Improve "Whitelist pane"; remove now useless built-in switch rule
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/214
Built-in whitelist directives are now rendered differently
than user-defined whitelist directives. Also, removing a
built-in whitelist directive will only cause that directive
to be commented out, so that users do not have to remember
built-in directives should they want to bring them back.
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/494
The built-in per-site switch rule
`no-scripting: behind-the-scene false` has been removed,
it should not ever be needed since there will always be a
valid root context for main- and sub-frames.
2019-05-18 14:20:05 -04:00
Raymond Hill
de41c1bf53
Fix parsing of recursive !#if
-`!#endif directives
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/270
2019-05-18 10:31:04 -04:00
Raymond Hill
62387fb87a
Prevent picker's preview mode from modifying style attribute
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/551
The issue fixes previewing the hiding/unhiding of targeted
elements in the element picker.
However it does not address the case of previewing
`:style(...)` operators -- this would require a much
more complex fix, which I am not sure is worth the
amount of work and increased code complexity.
2019-05-17 19:26:48 -04:00
Raymond Hill
9bfbbfec84
Adjust visual of cosmetic exception filters in logger
...
The invariant prefixes `##` and `#@#` are now hidden,
allowing to reveal more of the filter itself when the
logger view is narrow.
2019-05-17 11:45:07 -04:00
Raymond Hill
0ca44b847c
Avoid duplicated strings in filterOrigin w/ new approach
...
The new approach is simpler and should benefit selfie
serialization/unserialization.
This renders stringDeduplicater obsolete -- it has been
removed.
2019-05-17 10:13:58 -04:00
Raymond Hill
1386429382
Fix regression in applying procedural cosmetic filters
...
Related commit:
- 3573b6b32c
2019-05-16 17:22:20 -04:00
Raymond Hill
3573b6b32c
Add ability to report exception cosmetic filters in the logger
...
Related issue:
- https://github.com/gorhill/uBlock/issues/127
Additionally, the extended exception filters in the
logger will be rendered with a line-through to more
easily distinguish them from non-exception ones.
Also, opportunistically converted revisited code to
ES6 syntax.
2019-05-16 13:44:49 -04:00
Raymond Hill
fc109c8b7c
Revisit code to benefit from ES6 syntax
2019-05-15 14:49:12 -04:00
Raymond Hill
1fe3b54acc
Fix cosmetic exception filters not applying
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/575
Regression from:
- 93f80eedfa
Specific cosmetic exception filters need to be returned so that
they can be applied to generic cosmetic filters.
2019-05-15 14:43:59 -04:00
Raymond Hill
39e2a03edb
Fix comment
2019-05-14 09:31:51 -04:00
Raymond Hill
a14dcecf8f
Do not assume wildcards fall on label boundaries
...
Related commit:
- fe0b7a0e0f
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/572#issuecomment-492223980
2019-05-14 09:29:45 -04:00
Raymond Hill
93f80eedfa
Refactor runtime storage of specific cosmetic filters
...
This was a TODO item:
- 07cbae66a4/src/js/cosmetic-filtering.js (L375)
µBlock.staticExtFilteringEngine.HostnameBasedDB has been
re-factored to accomodate the storing of specific cosmetic
filters.
As a result of this refactoring:
- Memory usage has been further decreased
- Performance of selector retrieval marginally
improved
- New internal representation opens the door
to use a specialized version of HNTrie, which
should further improve performance/memory
usage
2019-05-14 08:52:34 -04:00
Raymond Hill
8a312b9bbb
Support cases with more than one wildcard
...
Related commit:
- fe0b7a0e0f
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/572#issuecomment-492147440
2019-05-14 06:52:13 -04:00
Raymond Hill
fe0b7a0e0f
Relax destination hostname requirements in redirect filters
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/572
Wildcards are now allowed in the hostname part of redirect
filters. There will be an attempt to find the longest
right-hand portion of the hostname with no wildcard. If
no non-empty hostname can be extracted, `*` will be used.
2019-05-13 20:19:10 -04:00
Raymond Hill
1e40f50eb3
Add benchmark method to cosmetic filtering engine
...
To measure retrieval of site-specific selectors. From
uBO's own dev console:
µBlock.cosmeticFilteringEngine.benchmark();
2019-05-12 11:41:47 -04:00
Raymond Hill
57890d60ff
Fix incorrect use of this
in static method
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/568
Regression from:
- 19ece97b0c
2019-05-11 17:40:55 -04:00
Raymond Hill
8a7e704080
Add support for nth-ancestor
operator in HTML filtering
...
Also opportunitisically converted some code to
ES6's `class`.
2019-05-11 13:21:23 -04:00
Raymond Hill
915c1f1f3c
Report resources blocked by csp=
option in logger
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/552
2019-05-11 10:40:34 -04:00
Raymond Hill
12bdd01595
Ensure "Ignore generic cosmetic filters" sticks on Fennec
...
Related issue:
- https://www.reddit.com/r/uBlockOrigin/comments/blkudl/
The setting was not sticking at first-install time.
2019-05-11 09:04:13 -04:00
Raymond Hill
e59bdb1485
Defuse fixed
position on body
element in element zapper
...
The `fixed` style property on the `body` element will be
defused if an overlay element is removed using the element
zapper.
Related:
- https://www.reddit.com/r/uBlockOrigin/comments/bktxtb/scrolling_doesnt_work/emlscyz
2019-05-06 13:32:55 -04:00
Raymond Hill
3692bb4ada
Add HNTrieRef.dump() and STrieRef.dump() as dev tool
...
To be used at the console, as an investigation tool for
development purpose.
Using it to verify the content of the largest
FilterHostnameDict instance, I spotted an all-uppercase
hostname in the HNTrieRef instance:
µBlock.staticNetFilteringEngine.categories.get(0).get(0x10000000).dict.dump();
Thus the changes to static-net-filtering.js are to fix
the erroneous insertion of filters with uppercase
characters. The single instance found was a hostname entry
in Malware Domain List (TRIANGLESERVICESLTD dot COM).
2019-05-06 11:12:39 -04:00
Raymond Hill
0e4fbefd07
Remove unecessary null
placeholders FilterOriginHitSet et al.
...
The `null` placeholder are not necessary, we can just use
default arguments instead, and add the HNTrieContainer
references if and only if they are instanciated.
2019-05-01 18:54:11 -04:00
Raymond Hill
9e4385243c
Web accessible secrets can be used for at most one second
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/550
Related Chromium issue (I can't access it):
- https://bugs.chromium.org/p/chromium/issues/detail?id=957866
Findings so far: affects browsers based on Chromium 74.
I could not reproduce the issue with either Chromium 73 or
Google Chrome 75.
This commit is a mitigation: to prevent sites from using
uBO's internal WAR secret for tracking purpose. A secret
can be used for at most one second, after which a new secret
is generated.
The original issue related to the implementation of
secret-gated web accessible resources is:
- https://github.com/gorhill/uBlock/issues/2823
2019-04-30 14:36:07 -04:00
Raymond Hill
73e2f25e95
Add new cosmetic procedural operator: :nth-ancestor(n)
...
The purpose of this new `:nth-ancestor(n)` operator is to
lookup the nth ancestor relative to the currently selected
node.
It is essentially equivalent to `:xpath(..)`, where
ancestor distance is expressed as a number rather than a
sequence of slash-separated `..`.
The rationale to introduce this new procedural selector
is to have a low overhead way to accomplish ancestor
selection.
2019-04-30 09:02:14 -04:00
Raymond Hill
42bf659695
Revert "Order HNTrie nodes alphabetically to allow for early bailout"
...
This reverts commit f5f9e05071
.
2019-04-30 07:00:52 -04:00
Raymond Hill
f5f9e05071
Order HNTrie nodes alphabetically to allow for early bailout
...
This commit implements the alphabetical ordering of HNTrie
nodes, so as to make it possible to bail out early at
HNTrie.matches() time.
Contrary to what I expected, there is no performance gain
observed to HNTrie.matches() as per benchmarks -- I find
the results perplexing.
Because of this I will revert this commit immediately.
The purpose of this commit is to record the changes so
that I can bring them back to life in the future whenever
I want to investigate further.
2019-04-30 06:47:54 -04:00
Raymond Hill
adabb56dc9
Do not store impossible to match filters in HNTrie
...
Consider the two following filters:
example.com
www.example.com
This commit make it so that if the first filter is
already present in a given HNTrie, the second filter
will not be stored, since HNTrie will _always_
return the first filter as a match whenever the
hostname to match is example.com or any subdomain
of example.com.
The detection of such pointless filters is
virtually free when adding a hostname to an HNTrie
instance (given how data is stored in the trie), so
in practice no overhead is incurred to detect such
pointless filters.
The ability to ignore impossible to match filters
in HNTrie instances will _especially_ benefit those
using large hosts files.
Examples of how this helps using real configurations:
- Default lists:
444 filters out of 100,382 were ignored as a result
of this commit.
- Default lists + "Energized Ultimate Protection":
283,669 filters out of 903,235 were ignored as a
result of this commit.
Side note: There was no measurable difference between
the two configurations above in the performance of
the matching algorithm as reported by the built-in
benchmark tool.
2019-04-29 13:15:16 -04:00
Raymond Hill
c4f9ae706a
Fix alternate code path introduced in 295f08da97
(oops)
2019-04-28 14:18:09 -04:00
Raymond Hill
295f08da97
Implement code path for when TextDecoder() is not available
...
The primary purpose is to unbreak
https://github.com/cliqz-oss/adblocker/tree/master/bench/comparison
2019-04-28 14:07:21 -04:00
Raymond Hill
ac58b8e688
Make token hashes fit within a 32-bit integer
...
The staticNetFilteringEngine uses token hashes to store/lookup
filters into Map objects.
Before this commit, the tokens were encoded into token hashes
as JS numbers (not exceeding MAX_SAFE_INTEGER) using at most
the 8 first characters of the token.
With this commit, token hashes are now restricted to fit
into 32-bit integers, and are derived from at most the 7 first
characters. This improves filter look-up performance as per
built-in benchmark().
2019-04-28 10:15:15 -04:00
Raymond Hill
96dce22218
Increase resolution of known-token lookup table
...
Related commit:
- 69a43e07c4
Using 32 bits of token hash rather than just the 16 lower
bits does help discard more unknown tokens.
Using the default filter lists, the known-token lookup
table is populated by 12,276 entries, out of 65,536, thus
making the case that theoretically there is a lot of
possible tokens which can be discarded.
In practice, running the built-in
staticNetFilteringEngine.benchmark() with default filter
lists, I find that 1,518,929 tokens were skipped out of
4,441,891 extracted tokens, or 34%.
2019-04-27 08:18:01 -04:00
Raymond Hill
a8946c8d73
Fix list lookup of multi-hostname domain=
filters in logger
...
Related commit:
- 3f3a1543ea
The regression was preventing uBO to find from which list a filter
originated. This affected only filters for which the `domain=`
option had multiple hostnames.
2019-04-27 07:04:43 -04:00
Raymond Hill
69a43e07c4
Ignore unknown tokens in urlTokenizer.getTokens()
...
Given that all tokens extracted from one single URL are potentially
iterated multiple times in a single URL-matching cycle, it pays to
ignore extracted tokens which are known to not be used anywhere in
the static filtering engine.
The gain in processing a single network request in the static
filtering engine can become especially high when dealing with
long and random-looking URLs, which URLs have a high likelihood
of containing a majority of tokens which are known to not be in
use.
2019-04-26 17:14:00 -04:00
Raymond Hill
19ece97b0c
Leverage compile-time token information in new fitler classes
...
Related commit:
- 99390390fc
The token information available at compile time can be stored
in the filter to be used at match() time. This allows the use of
startsWith() rather than a more costly indexOf() call as a first
quick test to detect mismatches.
2019-04-26 11:16:47 -04:00
Raymond Hill
e0d2285da0
Convert HNTrie code to ES6 class
2019-04-25 19:38:07 -04:00
Raymond Hill
155abfba18
Cache and reuse result of HNTrieRef.matches() when possible
...
Due to how web pages typically load secondary resources and due
to how HNTrieContainer instances are used in uBO, there is a
great likelihood that the result of a previous call to
HNTrieRef.matches() can be reused in a subsequent call.
This has been confirmed by instrumenting HNTrieRef.matches().
Since uBO uses distinct HNTrieContainer instances to either
match against the request or the origin hostnames, this
means a high likelihood of repeated calls to HNTrieRef.matches()
with the same hostname as argument, hence a performance gain
when caching the argument+result -- as despite that
HNTrie.matches() is fast, comparing two short strings is even
faster if this allows to skip HNTrie.matches() altogether.
2019-04-25 18:36:03 -04:00
Raymond Hill
99390390fc
Introduce three more specialized filter classes to avoid regexes
...
Performance- and memory-related work. Three more classes have
been created to avoid regex-based filters internally.
Purpose is to enforce filters which have only one single
wildcard in their pattern, a common occurrence. The filter
pattern is split in two literal string segments.
Similar as above, with the added condition that the filter is
hostname-anchored (`||`). The "Wildcard2" variant is a further
specialization to enforce filters where the only wildcard
is immediately preceded by the `^` special character, again
a very common occurrence.
Using two literal string segments in lieu of regexes allows to
quickly detect a mismatch by just testing the first segment.
Additionally, this reduces memory footprint as regexes are
much more expensive memory-wise than plain strings.
These three new filter classes allow to replace the use of
5276 regex-based filters internally with plain string-based
filters.
Often-called isHnAnchored() has been further fine-tuned to
avoid as much work as possible. I have also observed that
using an arrow function for closure-purpose helps measurably
performance, as per built-in benchmark.
2019-04-25 17:48:08 -04:00
Raymond Hill
fff2bb6290
Assume media elements with no Content-Length header to be of size 0
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/543
2019-04-24 08:30:54 -04:00
Raymond Hill
72bbcdd93c
Prevent search expression in CodeMirror editor from crossing line boundaries
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/493
2019-04-23 19:26:02 -04:00
Raymond Hill
43ecffc295
Fix overzealous strict blocking (regression)
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/536
Regression from:
- 3f3a1543ea (diff-522a16ddeed280252d7c3a351261b441R2767)
2019-04-21 09:17:31 -04:00
Raymond Hill
f10b100379
Fix the handling of pseudoclass-based generic cosmetic filters
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/464
Regression from:
261ef8c510 (diff-3b15596213ed9ba37fb5b8bb1402a6c2R599)
Pseudoclass-based generic cosmetic filters were improperly seen
as invalid following the regression.
2019-04-21 07:49:44 -04:00
Raymond Hill
7735b35e21
Fix uncaught rejected promise in assets.fetchText()
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/534
Regression from
a52b07ff6e
2019-04-21 06:12:20 -04:00
Raymond Hill
97f91f8be9
Small code review of a52b07ff6e
2019-04-20 19:10:34 -04:00
Raymond Hill
f0d5205bd7
Discard existing lines when importing from file in "My filters"
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/519
2019-04-20 18:57:16 -04:00
Raymond Hill
537271f26b
Fix how *$
, |https://
, http://
filters are reported in logger
...
This was a regression introduced in
3f3a1543ea
Reported in issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/528#issuecomment-485163348
2019-04-20 17:25:32 -04:00
Raymond Hill
a52b07ff6e
Make userResourcesLocation
able to support multiple URLs
...
The URLs must be space-separated.
Reminders:
- The additional resources will be updated at the same time
the built-in resource file is updated
- Purging the cache of 'uBlock filters' will also purge the
cache of the built-in resource file -- and hence force a
reload of the user's custom resources if any
Related issues:
- https://github.com/gorhill/uBlock/issues/3307
- https://github.com/uBlockOrigin/uAssets/issues/5184#issuecomment-475875189
Addtionally:
- Opportunitically promisified assets.fetchText()
- Fixed https://github.com/gorhill/uBlock/issues/3586
2019-04-20 17:16:49 -04:00
Raymond Hill
fa83744b58
Use a sequence of base 64 numbers to encode array buffers
...
The purpose of using a custom base128 encoder is to
convert array buffers into strings, to allow a direct
string-to-array buffer conversion at load time:
string => array buffer
Whereas a JSON array would require an extra step:
JSON array as string => JS array => array buffer
Turns out that the current use of a custom base128 encoding
results in a significantly larger selfie storage usage when
converting array buffers into strings.
Speculation: possibly the browser convert the strings to
save into JSON strings internally. Since the custom base128
encoder is likely to cause the resulting string to contain
a lot of unprintable ASCII characters, these will need to
be escaped when converted to JSON -- escaped characters
occupy more space than non-escaped ones.
Using a sequence of base 64 numbers means only printable
will be present in the output string, hence no escaping
necessary. I have observed significant reduction in
storage usage for selfie purpose.
2019-04-20 09:06:54 -04:00
Raymond Hill
3f3a1543ea
Add HNTrie-based filter classes to store origin-only filters
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/528#issuecomment-484408622
Following STrie-related work in above issue, I noticed that a large
number of filters in EasyList were filters which only had to match
against the document origin. For instance, among just the top 10
most populous buckets, there were four such buckets with over
hundreds of entries each:
- bits: 72, token: "http", 146 entries
- bits: 72, token: "https", 139 entries
- bits: 88, token: "http", 122 entries
- bits: 88, token: "https", 118 entries
These filters in these buckets have to be matched against all
the network requests.
In order to leverage HNTrie for these filters[1], they are now handled
in a special way so as to ensure they all end up in a single HNTrie
(per bucket), which means that instead of scanning hundreds of entries
per URL, there is now a single scan per bucket per URL for these
apply-everywhere filters.
Now, any filter which fulfill ALL the following condition will be
processed in a special manner internally:
- Is of the form `|https://` or `|http://` or `*`; and
- Does have a `domain=` option; and
- Does not have a negated domain in its `domain=` option; and
- Does not have `csp=` option; and
- Does not have a `redirect=` option
If a filter does not fulfill ALL the conditions above, no change
in behavior.
A filter which matches ALL of the above will be processed in a special
manner:
- The `domain=` option will be decomposed so as to create as many
distinct filter as there is distinct value in the `domain=` option
- This also apply to the `badfilter` version of the filter, which
means it now become possible to `badfilter` only one of the
distinct filter without having to `badfilter` all of them.
- The logger will always report these special filters with only a
single hostname in the `domain=` option.
***
[1] HNTrie is currently WASM-ed on Firefox.
2019-04-19 16:33:46 -04:00
Raymond Hill
b70302c0fc
Cleanup comments following changes in 34f3cfe5e7
2019-04-16 19:20:56 -04:00
Raymond Hill
34f3cfe5e7
Add filterClassHistogram() method to µBlock.staticNetFilteringEngine
...
As a development tool for investigation purpose. To use, enter the
following at uBO's dev console:
µBlock.staticNetFilteringEngine.filterClassHistogram()
2019-04-16 19:01:14 -04:00
Raymond Hill
4940cda154
Categorize google
as a bad token for map key purpose
...
In the static network filtering engine, `google` token is too
generic and probably leads to too many false positives, beside
causing too large filter bucket.
2019-04-16 06:52:13 -04:00
Raymond Hill
60858b6719
Fix handling of backslashes in string expressions for :has-text()
2019-04-15 18:56:28 -04:00
Raymond Hill
a594b3f3d1
Add µBlock.staticNetFilteringEngine.bucketHistogram() as investigative dev tool
...
Additionally, lower the treshold of trieability to 4 for FilterPlainPrefix1.
2019-04-15 11:45:33 -04:00
Raymond Hill
c9c21f9cbf
Add more languages for list selection at install/reset time
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/501
Also, the handling of 3-letter language codes has been fixed.
2019-04-14 18:20:57 -04:00
Raymond Hill
7652808806
Improve handling of srcset-based images in element picker
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/517
2019-04-14 17:37:48 -04:00
Raymond Hill
b73480b4c5
Update fix for https://github.com/uBlockOrigin/uBlock-issues/issues/468
...
As suggested by @jspenguin2017:
https://github.com/uBlockOrigin/uBlock-issues/issues/468#issuecomment-482863195
2019-04-14 16:57:09 -04:00
Raymond Hill
c229003d31
Performance + code maintenance work on static network filtering engine
...
Implement a plain string trie container class: STrieContainer.
Make use of STrieContainer where beneficial
Some filter buckets can grow quite large, and in such case
coalescing "trieable" filter classes into a single trie reduces
lookup performance and memory usage.
For instance, at time of commit, the filter bucket for the
`ad` keyword contains 919 entries[1].
Coalescing trieable filters of the same class into a single plain
string trie reduced the size of the bucket into 50 entries + two
tries which are scanned only once each whenever the bucket is
visited.
[1] Enter the following code at uBO's dev console:
µBlock.staticNetFilteringEngine.categories.get(0).get(µBlock.urlTokenizer.tokenHashFromString('ad'))
Refactor static network filtering engine code to make use of
ES6's syntactic sugar `class`.
Change first auto-update run from 7 to 5 minutes.
2019-04-14 16:45:20 -04:00
Raymond Hill
92c5f17b78
Improve usefulness of FilterContainer.benchmark()
...
Add ability to test/record results. This allows to compare against
output after code changes to detect and more accurately report
regressions.
2019-04-14 09:44:24 -04:00
Raymond Hill
813d96175d
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/468
2019-04-13 08:10:55 -04:00
Raymond Hill
d2cb0f17ea
Report block count in benchmark()
...
The block count can be used for testing against regression after
code changes.
2019-04-12 10:19:38 -04:00
Noelle Leigh
0bb7b76338
Fixed wrong method for number of elements in a Map ( #3755 )
2019-04-06 16:42:24 -03:00
Raymond Hill
1a7a3298e2
Be prepared to deal with failure to read user settings
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/507
2019-04-03 13:18:47 -03:00
Raymond Hill
f62d866b36
Code review implementation of cacheStorage.clear()
...
Possibly related issue:
- https://old.reddit.com/r/firefox/comments/b3u4nj/what_is_the_estimated_time_period_for_reviewing_a/
@gwarser has been able to reproduce at will, while I have been
unable to reproduce at all. The change here is to clear the
content of the database instead of outright deleting it before
restoring backed up settings.
2019-03-28 10:17:47 -03:00
Raymond Hill
2fd587b7ae
Simplyfy code to gather storage used with StorageManager.estimate()
...
Documentation:
https://developer.mozilla.org/docs/Web/API/StorageManager
2019-03-22 22:09:27 -03:00
Raymond Hill
ac71d6577a
Visually emphasize directive syntax (!#if
/!#endif
) in list viewer/editor
2019-03-21 19:53:04 -03:00
Raymond Hill
26c57feee8
Code review of IndexedDB usage for cache storage purpose
...
Use Promise.prototype.catch() to deal with potential exceptions.
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/416
2019-03-21 17:49:19 -03:00
Raymond Hill
34a138e3ef
Add unlimitedStorage
to Firefox manifest; add timeout to IndexedDB access
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/416
The Chromium version of uBO has declared `unlimitedStorage` since the
extension was first published in 2014. Declaring this permission in
Firefox brings uBO inline with the Chromium version. I suspect some
reported errors could be caused by IndexedDB eviction due to the lack
of `unlimitedStorage` permission.
Additionally, a timeout has been added when uBO tries to access its
indexedDB storage. It's unclear whether this will help with the
mentioned related issue though, the root cause is still to be
identified.
2019-03-17 09:45:28 -04:00
Raymond Hill
008370e4b9
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/461
...
uBO will fallback using a JSON string when trying to encode an array
buffer in Chromium version 59 and earlier.
2019-03-16 09:00:31 -04:00
Raymond Hill
580c3885df
Fix typo which could lead to improper filtering context
...
Related discussion:
- 354ac4f57b (commitcomment-32715209)
2019-03-15 07:47:36 -04:00
Raymond Hill
875542c964
Code review of fix for https://github.com/uBlockOrigin/uBlock-issues/issues/459
...
Relocate workaround to the code responsible to compute filtering context, such
that the workaround will also be applied in other code paths, for example also
for webRequest.onHeadersReceived.
2019-03-14 11:24:13 -04:00
Raymond Hill
9a7887eb39
Better English in comment
2019-03-13 17:21:30 -04:00
Raymond Hill
f5974a500b
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/459
2019-03-13 17:17:37 -04:00
Raymond Hill
e49debd5dd
Properly report :spath
operator of procedural cosmetic filters in logger
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/453
2019-03-08 07:26:55 -05:00
Raymond Hill
3a8b68ea76
Remove obsolete code related to assets storage refactoring in 1.11.0
...
The removed code was quite old, and was about how user filters were
persisted before/after uBO version 1.11, related to the following
issue:
- https://github.com/gorhill/uBlock/pull/2314
The assets storage refactoring was released in:
- https://github.com/gorhill/uBlock/releases/tag/1.11.0
2019-03-06 08:59:13 -05:00
Raymond Hill
67d143ec4e
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/448
2019-03-05 12:42:59 -05:00
Raymond Hill
388c1c98ec
Fix parsing of AdGuard's #$?#
-based cosmetic filters
...
As reported in the following commit:
- https://github.com/AdguardTeam/AdguardFilters/commit/4fe02d73cee6
2019-03-05 10:10:40 -05:00
Raymond Hill
337b1f81b6
Code review of indexedDB-based cache storage
2019-02-26 10:37:25 -05:00
Raymond Hill
eaa0094e53
Fix uncaugh exception at launch when indexedDB is forbidden
...
Possibly related to:
- https://www.reddit.com/r/uBlockOrigin/comments/atbjvg/web_pages_dont_load_in_waterfox_56271_64bit_with/
2019-02-24 11:28:28 -05:00
Raymond Hill
c161d45230
Use const
, let
instead of var
2019-02-24 09:01:58 -05:00
Raymond Hill
1c26afe874
Remove caching the result of domain extraction from hostname
...
With the new PSL implementation, benchmarks do not show benefit
from caching the domain extracted from a hostname for later
reuse -- the caching seems to even add an overhead instead with
the new publicSuffixList implementation.
2019-02-20 08:51:14 -05:00
Raymond Hill
c83b6776da
Remove support for implicit scriptlet injection
...
Related issue:
- https://github.com/gorhill/uBlock/issues/3550
2019-02-20 07:18:37 -05:00
Raymond Hill
b585518c00
Do not fall back to alternative cache backend if selected one fails
...
Default behavior is to fall back to an alternative backend
if the uBO-selected one is not available. However there will be
no fall back when the `cacheStorageAPI` is set to one specific
backend by the user.
2019-02-20 07:05:45 -05:00
Raymond Hill
87feb47b51
Support disabling suspendTabsUntilReady
in Firefox
...
The value of `suspendTabsUntilReady` was disregarded in Firefox and
uBO defaulted to always defer tab loading until it was ready.
This commit allows to disable the deferring of tab loading in
Firefox. The new valid values for `suspendTabsUntilReady` are:
- `unset`: leave it to the platform to pick the optimal
behavior (default)
- `no`: do no suspend tab loading at launch time
- `yes`: suspend tab loading at launch time
2019-02-19 12:30:37 -05:00
Raymond Hill
928ab91ab8
Add support to benchmark the dynamic filtering pane
...
From uBO's dev console, type:
- `µBlock.sessionFirewall.benchmark();`
Keep in mind that it's the temporary ruleset being benchmarked.
2019-02-19 10:46:33 -05:00
Raymond Hill
93842a3f9c
Improve detection of invalid CSS selectors
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/389
Additionally, fix case of using potentially uninitialized variable
in preview mode. Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/425
2019-02-18 16:00:42 -05:00
Raymond Hill
426a6ea9a7
Fix spurious output at uBO's dev console
...
Regression from https://github.com/gorhill/uBlock/commit/0d369cda21bb
2019-02-18 14:41:04 -05:00
Raymond Hill
f7a632c94a
Fix regression preventing new install or reseting to factory default
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/431
2019-02-18 06:18:30 -05:00
Raymond Hill
0d369cda21
Allow use of browser.storage.local as cache storage backend in Firefox
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/409
By default `indexedDB` is used in Firefox for purpose of cache storage
backend.
This commit allows to force the use of `browser.storage.local` instead
as cache storage backend. For this to happen, set `cacheStorageAPI` to
`browser.storage.local` in advanced settings.
Additionally, should `indexedDB` not be available for whatever reason,
uBO will automatically fallback to `browser.storage.local`.
2019-02-17 15:40:09 -05:00
Raymond Hill
3b81841dc0
Properly set resource URL in benchmark loop
2019-02-17 07:45:05 -05:00
Raymond Hill
d63592b11e
Remove obsolete code to translate |blob:
filters into CSP filters
...
These filters are to be considered obsolete since they can't be
matched against network requests in the webRequest API.
They were probably meant to work when ABP was pre-webext, which
means they are quite probably obsolete and there is no longer
a point for uBO to conveniently translate them into CSP directives.
2019-02-16 19:25:15 -05:00
Raymond Hill
e93062bcdf
Spin-off FilterOrigin flavors into standalone classes
...
This removes the derivation of FilterOrigin flavors from
FilterOrigin itself and simplify code paths. FilterOrigin
flavors are small specialized classes, no need to
overcomplicate with derivation.
Specifically, this removes an indirect call to reach the
match() method.
2019-02-16 12:16:30 -05:00
Raymond Hill
5733439f62
Leverage whotracks.me's huge dataset of URLs for benchmark purpose
...
As seen at:
https://whotracks.me/blog/adblockers_performance_study.html
The requests.json.gz file can be downloaded from:
https://cdn.cliqz.com/adblocking/requests_top500.json.gz
Copy the file into ./tmp/requests.json.gz
If the file is present when you build uBO using `make-[target].sh` from
the shell, the resulting package will contain `./assets/requests.json`,
which will be looked-up by the method below to launch a benchmark
session.
From uBO's dev console, launch the benchmark:
µBlock.staticNetFilteringEngine.benchmark();
The usual browser dev tools can be used to obtain useful profiling
data, i.e. start the profiler, call the benchmark method from the
console, then stop the profiler when it completes.
Keep in mind that the measurements at the blog post above where obtained
with ONLY EasyList. The CPU reportedly used was:
https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-6600U+%40+2.60GHz&id=2608
Rename ./tmp/requests.json.gz to something else if you no longer want
./assets/requests.json in the build.
2019-02-15 16:18:03 -05:00
Raymond Hill
515b7cdcfc
Use proper embedding context when evluating inline-script
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/422
2019-02-15 07:37:43 -05:00
Raymond Hill
ed7e34fb07
Refactor selfie generation into a more flexible persistence mechanism
...
The motivation is to address the higher peak memory usage at launch
time with 3rd-gen HNTrie when a selfie was present.
The selfie generation prior to this change was to collect all
filtering data into a single data structure, and then to serialize
that whole structure at once into storage (using JSON.stringify).
However, HNTrie serialization requires that a large UintArray32 be
converted into a plain JS array, which itslef would be indirectly
converted into a JSON string. This was the main reason why peak
memory usage would be higher at launch from selfie, since the JSON
string would need to be wholly unserialized into JS objects, which
themselves would need to be converted into more specialized data
structures (like that Uint32Array one).
The solution to lower peak memory usage at launch is to refactor
selfie generation to allow a more piecemeal approach: each filtering
component is given the ability to serialize itself rather than to be
forced to be embedded in the master selfie. With this approach, the
HNTrie buffer can now serialize to its own storage by converting the
buffer data directly into a string which can be directly sent to
storage. This avoiding expensive intermediate steps such as
converting into a JS array and then to a JSON string.
As part of the refactoring, there was also opportunistic code
upgrade to ES6 and Promise (eventually all of uBO's code will be
proper ES6).
Additionally, the polyfill to bring getBytesInUse() to Firefox has
been revisited to replace the rather expensive previous
implementation with an implementation with virtually no overhead.
2019-02-14 13:33:55 -05:00
Raymond Hill
4da340384a
Update publicSuffixLibrary to latest (WASM-able) version
...
See https://github.com/gorhill/publicsuffixlist.js
2019-02-10 12:19:05 -05:00
Raymond Hill
656203adc7
Minor generic code review of changes since 1.18.2
2019-02-02 08:09:34 -05:00
Raymond Hill
fc03782985
Ensure that WASM module was actually loaded
2019-02-01 09:09:51 -05:00
Raymond Hill
ff269d793d
Use indexedDB
instead of for cacheStorageAPI value
2019-02-01 08:27:28 -05:00
Raymond Hill
69c87c5117
Fix Promise chain of WASM module load operations
...
The Promise chain was not properly designed for WASM module
loading. This became apparent when removing WASM modules
from Opera build[1].
The problem was that errors thrown by fetch() -- used to
load WASM modules -- were not properly handled.
[1] Opera refuses updating uBO if there are unrecognized file
types in the package, and `.wasm`/`.wat` files are not
recognized by Opera uploader.
2019-02-01 08:20:43 -05:00
Raymond Hill
923c5ce5bd
Compute URL of sublists as relative to URL of parent list
...
Related issue:
- https://github.com/NanoAdblocker/NanoCore/issues/239
The erroneous behavior was to compute the URL of a sublist as
relative to the URL of the root list, which may differ from the
URL of a parent list.
2019-01-29 11:52:16 -05:00
Raymond Hill
3195f554f7
Fix partyness evaluation for cases of base domain-less hostnames
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/402
2019-01-29 10:34:58 -05:00
Raymond Hill
15100459b3
Harden content script's message Port against spurious disconnections
...
Those spurious disconnections have been observed to occur at
uBO's launch time.
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/403
I have observed that this fixes an issue observed on Firefox 64
(current stable).
The reported Waterfox issue *may* be fixed as a result. If not,
the issue he still considered fixed as Waterfox is not
officially supported.
2019-01-27 17:07:40 -05:00
Raymond Hill
85d6339b07
Code review for a026e9ae54
: no need to be so flexible
2019-01-25 18:58:49 -05:00
Raymond Hill
a026e9ae54
Fix reverting use of IndexedDB as default cache storage on Chromium
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/399
The advanced setting `cacheStorageAPI` has been added to allow
a user to force the use of IndexedDB as cache storage. Set to
`IndexedDB` to force use of IndexedDB. Default to `unset`.
2019-01-25 18:49:30 -05:00
Raymond Hill
b214ec1bae
Ensure pointer-events style is set to auto at element picker launch
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/393
2019-01-23 17:11:07 -05:00
Raymond Hill
9e89dd4f26
Fix missing partyness in logger when empty domain in resource URL
2019-01-22 06:13:30 -05:00
Raymond Hill
1de821d99b
Apply stricter rejection of usage of url() in :style rules
2019-01-18 19:07:31 -05:00
Raymond Hill
801eb43572
Prevent info entries from polluting logger output
...
These entries are meant to be shown only when using "All"
mode, not when the output is narrowed to a specific tab.
2019-01-16 13:29:34 -05:00
Raymond Hill
e8ff6a2abf
Prevent sites from disabling mouse events for element picker
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/380
Previous fix was incorrect:
84818fcd84
Additionally, I fixed the "Network filters" or "Cosmetic filters"
sections not being properly hidden when there was not valid
filters found.
2019-01-15 16:34:57 -05:00
Raymond Hill
86e5d0384c
Fix minor logger quirks as per feedback
2019-01-15 15:12:47 -05:00
Raymond Hill
84818fcd84
Prevent sites from disabling mouse events for the element picker
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/380
2019-01-15 14:41:23 -05:00
Raymond Hill
b0fb6d678d
Fix regression from 0edf53f508 (diff-a51c8c4aedf62ea9aec5e71f3b1427c3R624)
2019-01-15 08:18:45 -05:00
Raymond Hill
5d5b05b387
Fix an issue in new logger export feature
...
Specifically, if selecting table+markdown, the export dialog
would no longer be accessible once closed.
2019-01-14 16:52:13 -05:00
Raymond Hill
0edf53f508
Add export-to-clipboard feature to logger
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/334
Additionally, a number of smallish issues following
refactoring of the logger code were addressed.
2019-01-14 14:57:31 -05:00
Raymond Hill
3be59f172d
Use blocked/allowed colors in logger's "Details" pane
...
Additionally, another attempt at making the logger render
better on small-screen devices.
2019-01-13 08:34:17 -05:00
Raymond Hill
ed5d63df69
Grand refactoring of the logger
...
Performance-related work: the logger data has been decoupled
from the DOM -- inspired from CodeMirror's way of efficiently
handling large amout of text data.
This decoupling now makes the logger highly efficient CPU- and
memory-wise, and open the way to more possibilities.
Ability to configure some aspect of the logger behavior and
visuals:
- The hard-coded limit of 5000 entries has been
removed and is now replaced with a variety of
user-configurable settings to enforce the discarding of
logger entries.
- Some columns in the logger output can now be hidden.
The filter list look-up feature has been merged into the
existing overlay dialog used to create URL rules or static
filters, as an entry in a new "Details" pane.
Other issues addressed during refactoring:
- https://github.com/uBlockOrigin/uBlock-issues/issues/280
- https://github.com/gorhill/uBlock/issues/1999
The minimum version supported on Firefox has been bumped
up to 55.0.
2019-01-12 16:36:20 -05:00
Raymond Hill
64bea27881
Add ability to control auto-commenting at filter creation time
...
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/372
- https://github.com/gorhill/uBlock/issues/93
A new advanced settings has been added: `autoCommentFilterTemplate`.
Default value is `{{date}} {{origin}}`.
Placeholders are identified by `{{...}}`. There are currently
only three placeholders supported:
- `{{date}}`: will be replaced with current date
- `{{time}}`: will be replaced with current time
- `{{origin}}`: will be replaced with site information on which
the filter(s) was created
If no placeholder is found in `autoCommentFilterTemplate`, this
will disable auto-commenting. So one can use `-` to disable
auto-commenting.
Additionally, if auto-commenting is enabled, uBO will not emit a
comment if an emitted comment would be a duplicate of the last
one found in the user filter list.
2019-01-08 07:37:50 -05:00
Raymond Hill
d8674d8abe
Merge changes from master
2018-12-31 12:11:28 -05:00
Raymond Hill
08261e3c15
Change DOM surveyor to time-based processing logic (from chunk-based)
...
The DOM surveyor will now use time-based logic to spread its work
over time. This allows the surveying to better scale down on
slower devices.
Additionally, the DOM surveyor code has been reworked to lower as
much as possible memory churning when collating nodes to survey.
This rework has been motivated after profiling the "monstrous DOM"
seen in the following page:
<https://doc.rust-lang.org/std/iter/trait.Iterator.html >
The idea is that making the DOM surveyor efficient on such
"monstrous DOM" case should make it efficient everywhere in
practice.
2018-12-31 11:50:40 -05:00
Raymond Hill
f35dff2c9d
Code review related to performance in main content script
...
- Avoid concatenating with empty array: though the concatenated
array is empty, this still forces the creation of a whole new
array as per semantic of Array.prototype.concat().
<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat >
- Do not convert arrays to strings when sending data to
main process in surveyPhase1(): I no longer see any benefit
doing so in profiling data (if I recall properly this was
benefiting Firefox, but I can't remember for sure anymore why
I chose to do so back then).
2018-12-29 16:34:46 -05:00
Raymond Hill
09fb3549f3
Improve creation of rows in dynamic filtering pane of popup panel
...
- Reuse existing rows without first removing them
- New rows appended all at once through DocumentFragment
2018-12-29 08:43:44 -05:00
Raymond Hill
87cf95c04b
Avoid redundant DOM attributes in dynamic filtering pane
...
Move redundant attributes in cells to parent row; use
Element.closest() to look-up these attributes when needed.
2018-12-29 06:54:05 -05:00
Raymond Hill
eb1428c8bb
Fix regression in the collapsing of blocked resources
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/356
2018-12-27 10:17:08 -05:00
Raymond Hill
8a88e9d931
Support CSS selectors mixed w/ operators in procedural cosmetic filters
...
Related issue:
- https://github.com/gorhill/uBlock/issues/3683
This commit further increases uBO's procedural cosmetic filters
Adguard's cosmetic filter syntax -- specifically those procedural
cosmetic filters where plain CSS selectors appeared following
a procedural oeprator (this was rejected as invalid by uBO).
Also, experimental support for `:watch-attrs` procedural
operator, as discussed in <https://github.com/uBlockOrigin/uBlock-issues/issues/341#issuecomment-449765525 >.
Support may be dropped before next release depending on whether
a better solution is suggested.
Additionally, the usual opportunistic refactoring toward ES6
syntax.
2018-12-26 10:45:19 -05:00
Raymond Hill
be9e7fd11c
Code review related to the early blocking of network requests at launch
2018-12-24 08:56:35 -05:00
Raymond Hill
41548be6be
Move early blocking of requests out of experimental status on Firefox
...
Related issues:
- https://github.com/gorhill/uBlock/issues/2067
- https://github.com/uBlockOrigin/uBlock-issues/issues/128
Related mozbug issue:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1503721
2018-12-23 17:59:31 -05:00
Raymond Hill
99cdec5ba6
Informal code review to tidy up logger buffer fetching implementation
2018-12-23 15:35:32 -05:00
Raymond Hill
e2d1f50dd8
Normalize Adguard's plain cosmetic filters disguised as style-based filters
...
Reported by https://github.com/uBlock-user in
https://github.com/orgs/uBlockOrigin/teams/ublock-issues-volunteers/discussions/56
For some reasons, many cosmetic filters in Adguard's Annoyance List
are plain cosmetic filters disguised as style-based cosmetic filters,
and this was breaking uBO's ability to reverse lookup such filters
from the logger.
2018-12-23 08:58:03 -05:00
Raymond Hill
91144c4edc
Allow creating broad cosmetic filters directly from the picker
...
Using the Ctrl key while cliking an element on the page will cause
the picker to choose a broad cosmetic filter as candidate.
2018-12-22 15:44:23 -05:00
Raymond Hill
69668d27b1
Ensure the text cursor in visible when a CodeMirror editor is resized
...
Related issues:
- https://github.com/gorhill/uBlock/issues/3706
- https://github.com/gorhill/uBlock/issues/3701
2018-12-22 13:35:46 -05:00
Raymond Hill
cd597709bb
Remember cursor position in "My filters" for next visit
...
Related issue:
- https://github.com/gorhill/uBlock/issues/3706
2018-12-22 13:09:56 -05:00
Raymond Hill
f3773ef6eb
Internationalize CodeMirror's hard-coded tooltips in the "My rules" pane
...
Related issue:
- https://github.com/gorhill/uBlock/issues/3708
This was brought into the issue above but I ended up forgotting
about it after I focused mostly on the second issue brought up
in there.
2018-12-22 11:55:13 -05:00
Raymond Hill
ba81f79d1b
Limit count badges of per-site tools to 99 in the popup panel
...
This is a revised fix as per feedback in the following issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/279#issuecomment-449531436
2018-12-22 11:19:44 -05:00
Raymond Hill
ea3e3b6440
Inject inline-script logger scriptlet at document_end
...
Feedback from related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/343#issuecomment-449529429
2018-12-22 08:33:42 -05:00
Raymond Hill
c8fcdedc44
Report inline script tags in logger if present in document
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/343
2018-12-21 14:17:47 -05:00
Raymond Hill
e9d76b3575
Report inline script tags in logger if present in document
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/343
2018-12-21 14:16:17 -05:00
Raymond Hill
30093dc990
Remove (broken) benchmark pane
2018-12-21 12:02:23 -05:00
Raymond Hill
610ca2684b
Remove (broken) benchmark pane
2018-12-21 12:01:24 -05:00
Raymond Hill
2849dbb805
Fix duplicate entry in URL filtering dialog: https://github.com/gorhill/uBlock/issues/3401
2018-12-21 10:09:29 -05:00
Raymond Hill
aeff011d4c
Remove obsolete comment
2018-12-21 07:32:23 -05:00
Raymond Hill
3730d7d128
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/40
2018-12-20 17:29:39 -05:00
Raymond Hill
540c311438
Fix https://twitter.com/arneblankerts/status/1075402247725637633 , regression @ d3a3505a54 (diff-1c951eedcd0be2e11c02da8fabcc46b5R380)
2018-12-19 17:44:17 -05:00
Raymond Hill
6bc22ab4ba
Convert uBO's svg-based icon into a stylable svg symbol-based icon
2018-12-19 16:21:23 -05:00
Raymond Hill
bb737e29d5
Revert use of Fontawesome v5; use 4.7 or equivalent: see <> https://github.com/uBlockOrigin/uBlock-issues/issues/249#issuecomment-448587658
2018-12-19 14:05:19 -05:00
Raymond Hill
61d95aa60f
Move builtin filter expr button inside input field
2018-12-18 17:23:03 -05:00
Raymond Hill
5dca5285e2
Fix regression introduced in 9b27a98f90 (diff-f7413cbfa6561a980810c682fa4b1a12R638)
2018-12-18 14:00:23 -05:00
Raymond Hill
2e7654d429
Relax semantic of leading/trailing pipes in filter expressions in logger
2018-12-18 13:37:01 -05:00
Raymond Hill
79905aa798
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/279 ; partially fix https://github.com/uBlockOrigin/uBlock-issues/issues/249
2018-12-18 13:35:44 -05:00
Raymond Hill
56f7505ad8
Further improve logger along with fixes to specific logger issues
...
- Add tooltip support (not yet complete):
https://github.com/gorhill/uBlock/issues/1222
- Add a link to logger documentation:
https://github.com/gorhill/uBlock/issues/2876#issuecomment-322905413
- Migrate to from fontawesome font to svgs:
https://github.com/uBlockOrigin/uBlock-issues/issues/249
2018-12-17 13:54:17 -05:00
Raymond Hill
9d756147cf
Start work toward fixing https://github.com/uBlockOrigin/uBlock-issues/issues/249
2018-12-17 13:53:24 -05:00
Raymond Hill
dfcd23197d
Fix parsing of redirect=
option as per 67e06f53b4 (commitcomment-27803901)
2018-12-17 07:46:04 -05:00
Raymond Hill
aa50dc00d2
add built-in expressions to logger's row filterer (see #787 )
2018-12-16 15:26:38 -05:00
Raymond Hill
d3a3505a54
fix regression in 8f05a2f8d3
(related issue: #3683 )
2018-12-16 09:17:26 -05:00
Raymond Hill
8214a0b17d
Improve tooltip for partyness information in logger
2018-12-15 12:23:13 -05:00
Raymond Hill
261ef8c510
Add support for procedural :not to HTML filtering
...
Related issue: <https://github.com/gorhill/uBlock/issues/3683 >
Additionally, improve compile-time error reporting in the logger
2018-12-15 10:46:17 -05:00
Raymond Hill
d2a7ada0b0
fix https://github.com/uBlockOrigin/uBlock-issues/issues/341
2018-12-14 17:55:22 -05:00
Raymond Hill
8f05a2f8d3
fix https://github.com/uBlockOrigin/uBlock-issues/issues/341 , and further work for https://github.com/gorhill/uBlock/issues/3683
2018-12-14 15:25:18 -05:00
Raymond Hill
932c13bfa0
drop deprecated windowType from windows.get()
2018-12-14 14:15:43 -05:00
Raymond Hill
5b7a3c9983
fix https://github.com/uBlockOrigin/uBlock-issues/issues/256 ; add regex support in logger filter field
2018-12-14 11:01:21 -05:00
Raymond Hill
2f1d319072
code review: don't remember tabless network requests in behind-the-scene scope
2018-12-14 08:47:29 -05:00
Raymond Hill
1d7e3e8f82
fix https://github.com/uBlockOrigin/uBlock-issues/issues/339
2018-12-14 07:03:19 -05:00
Raymond Hill
9b27a98f90
Fix https://github.com/gorhill/uBlock/issues/3654
...
Additionally, there has been refactoring work done regarding
filtering context used throughout uBO, motivated by the fix
here.
2018-12-13 12:30:54 -05:00
Raymond Hill
90c073882e
fix not discarding empty hostnames: 912af3284d (commitcomment-31608689)
2018-12-08 17:23:36 -05:00
Raymond Hill
a34254122a
release indexeddb ref when unused; promisify some io code
2018-12-07 16:51:18 -05:00
Raymond Hill
3075582c72
fix https://github.com/uBlockOrigin/uBlock-issues/issues/314
2018-12-06 10:18:19 -05:00
Raymond Hill
ed265e5f68
fix https://github.com/uBlockOrigin/uBlock-issues/issues/331
2018-12-06 08:50:13 -05:00
Raymond Hill
e7d4aff2a2
fix https://github.com/uBlockOrigin/uBlock-issues/issues/328
2018-12-05 19:18:20 -05:00
Raymond Hill
0d6a18207a
fix https://github.com/uBlockOrigin/uBlock-issues/issues/329
2018-12-05 15:57:41 -05:00
Raymond Hill
1b6fea16da
3rd-gen hntrie, suitable for large set of hostnames
2018-12-04 13:02:09 -05:00
Raymond Hill
bf28a83e2d
code review re cd7b1c0eb4
2018-12-03 08:07:54 -05:00
Raymond Hill
cd7b1c0eb4
fix https://github.com/uBlockOrigin/uBlock-issues/issues/325
2018-12-02 21:41:28 -05:00
Raymond Hill
75d9cf3055
fix https://github.com/uBlockOrigin/uBlock-issues/issues/313
2018-11-26 12:02:32 -05:00
Raymond Hill
bf266eb757
recompile wat file using latest https://github.com/WebAssembly/wabt/releases
2018-11-25 12:12:07 -05:00
Raymond Hill
5d98a88093
revert unintended stray change from commit 4504040344
2018-11-24 12:21:25 -05:00
Raymond Hill
4504040344
minor code review: do not cache hostname/domain pairs when parsing filters
2018-11-24 12:09:27 -05:00
Raymond Hill
2a91a685ce
code review: fix handling of too long needles
2018-11-19 14:04:26 -05:00
Raymond Hill
a3051842bb
fix returning the wrong value (re https://github.com/uBlockOrigin/uBlock-issues/issues/6 )
2018-11-18 05:56:13 -05:00
Raymond Hill
2189f020df
add new advanced setting to disable use of WASM for dev purpose
2018-11-16 10:19:06 -05:00
Raymond Hill
9eba215961
fix missing trailing asterisk in filter representation in the logger
...
Issue unearthed in https://github.com/uBlockOrigin/uAssets/issues/4083#issuecomment-436914727
2018-11-08 09:01:41 -02:00
Raymond Hill
6d00583a50
fix blob: case as per feedback https://github.com/uBlockOrigin/uBlock-issues/issues/283#issuecomment-436371415
2018-11-06 17:22:09 -02:00
Raymond Hill
835dcd41f2
code review for 7d100f7b21
: just the very slow opportunistic walk toward full ES6 code base
2018-11-06 16:20:44 -02:00
Raymond Hill
7d100f7b21
fix https://github.com/uBlockOrigin/uBlock-issues/issues/283
2018-11-06 16:11:03 -02:00
Raymond Hill
19b7cbca55
minor review of hntrie code
2018-11-06 13:38:37 -02:00
Raymond Hill
a42513aa2f
minor code review
2018-11-04 19:26:02 -02:00
Raymond Hill
95899a0d1d
be explicit about where the related wasm file is fetched
2018-11-04 18:52:25 -02:00
Raymond Hill
d7d544cda0
Squashed commit of the following:
...
commit 7c6cacc59b27660fabacb55d668ef099b222a9e6
Author: Raymond Hill <rhill@raymondhill.net>
Date: Sat Nov 3 08:52:51 2018 -0300
code review: finalize support for wasm-based hntrie
commit 8596ed80e3bdac2c36e3c860b51e7189f6bc8487
Merge: cbe1f2e 000eb82
Author: Raymond Hill <rhill@raymondhill.net>
Date: Sat Nov 3 08:41:40 2018 -0300
Merge branch 'master' of github.com:gorhill/uBlock into trie-wasm
commit cbe1f2e2f38484d42af3204ec7f1b5decd30f99e
Merge: 270fc7f dbb7e80
Author: Raymond Hill <rhill@raymondhill.net>
Date: Fri Nov 2 17:43:20 2018 -0300
Merge branch 'master' of github.com:gorhill/uBlock into trie-wasm
commit 270fc7f9b3b73d79e6355522c1a42ce782fe7e5c
Merge: d2a89cf d693d4f
Author: Raymond Hill <rhill@raymondhill.net>
Date: Fri Nov 2 16:21:08 2018 -0300
Merge branch 'master' of github.com:gorhill/uBlock into trie-wasm
commit d2a89cf28f0816ffd4617c2c7b4ccfcdcc30e1b4
Merge: d7afc78 649f82f
Author: Raymond Hill <rhill@raymondhill.net>
Date: Fri Nov 2 14:54:58 2018 -0300
Merge branch 'master' of github.com:gorhill/uBlock into trie-wasm
commit d7afc78b5f5675d7d34c5a1d0ec3099a77caef49
Author: Raymond Hill <rhill@raymondhill.net>
Date: Fri Nov 2 13:56:11 2018 -0300
finalize wasm-based hntrie implementation
commit e7b9e043cf36ad055791713e34eb0322dec84627
Author: Raymond Hill <rhill@raymondhill.net>
Date: Fri Nov 2 08:14:02 2018 -0300
add first-pass implementation of wasm version of hntrie
commit 1015cb34624f3ef73ace58b58fe4e03dfc59897f
Author: Raymond Hill <rhill@raymondhill.net>
Date: Wed Oct 31 17:16:47 2018 -0300
back up draft work toward experimenting with wasm hntries
2018-11-03 08:58:46 -03:00
Raymond Hill
b94b3417d1
do not overwrite prior results
2018-11-03 08:08:30 -03:00
Raymond Hill
d693d4fba3
add new "Benchmarks" pane in dashboard
...
Purpose is strictly for development purpose. The new pane can
be enabled by setting the advanced setting `benchmarkingPane`
to `true`.
2018-11-02 16:18:50 -03:00
Raymond Hill
23cd2e1d4a
make "none" a reserved "redirect=" keyword (see deefe87555
)
2018-10-31 19:34:54 -03:00
Raymond Hill
6d9382a501
fix https://github.com/uBlockOrigin/uBlock-issues/issues/77
2018-10-29 09:56:51 -03:00
Raymond Hill
9039874fc9
refactor some webRequest-related code (now that firefox legacy is out of the way)
2018-10-28 10:58:25 -03:00
Raymond Hill
5e08d083e0
forgot to link to issue (re https://github.com/uBlockOrigin/uBlock-issues/issues/248 )
2018-10-25 11:10:21 -03:00
Raymond Hill
5f66f03c69
regression from cabb0d36b6
: avoid counting "badfilter" entries as actual filters
2018-10-24 20:06:27 -03:00
Raymond Hill
c0fc7dd869
fix https://github.com/uBlockOrigin/uBlock-issues/issues/248
2018-10-24 20:02:15 -03:00
Raymond Hill
3a85158dbb
fix regression from cabb0d36b6
regarding filter used count per list
2018-10-24 06:55:04 -03:00
Raymond Hill
cabb0d36b6
fix https://github.com/gorhill/uBlock/issues/3371
2018-10-23 14:01:08 -03:00
Raymond Hill
b8720b83de
fix https://github.com/uBlockOrigin/uBlock-issues/issues/6
2018-10-17 11:52:34 -03:00
Raymond Hill
c192045e1d
fix https://github.com/uBlockOrigin/uBlock-issues/issues/264
2018-10-15 14:15:00 -03:00
Raymond Hill
d870ee147d
comment out console-logging of information (useful only for development purpose)
2018-10-01 10:14:06 -04:00
Raymond Hill
5f3ebafbf2
minor code review
2018-09-21 09:27:41 -04:00
Raymond Hill
e107cbb370
revised fix for https://github.com/uBlockOrigin/uBlock-issues/issues/229
2018-09-21 09:16:46 -04:00
Raymond Hill
6544ff5c56
fix https://github.com/uBlockOrigin/uBlock-issues/issues/229
2018-09-18 17:05:53 -04:00
Raymond Hill
a57450e1a0
fix https://github.com/uBlockOrigin/uBlock-issues/issues/228
2018-09-18 15:21:00 -04:00
Raymond Hill
b5ef2d0105
code review for https://github.com/gorhill/uBlock/commit/0322d03303cd -- fix handling of rc versions
2018-09-11 08:42:02 -04:00
Raymond Hill
0322d03303
fix https://github.com/uBlockOrigin/uBlock-issues/issues/212
2018-09-11 08:37:32 -04:00
Raymond Hill
183caa2782
fix regression from ba32c6a473
2018-09-09 18:08:07 -04:00
Raymond Hill
d5ddf837fa
fix a generic exception preventing a lowly-generic complex cosmetic filter from being applied
2018-09-09 13:15:43 -04:00
Raymond Hill
06fe7e6871
code review for static extended filtering, notably:
...
- use domain-derived integer hash to store filters
- remove code meant for firefox/legacy
- properly handle subdomains of entity-based filters
2018-09-09 08:10:09 -04:00
Raymond Hill
1d108082b7
minor code review re. 8b5a7aa398
2018-09-07 10:52:10 -04:00
Raymond Hill
8b1c39507e
minor code review: use URL() to lookup query parameters
2018-09-07 10:43:58 -04:00
Raymond Hill
8b5a7aa398
remove context menu entry and picker tools for whitelisted sites
2018-09-07 10:42:59 -04:00
Raymond Hill
89c073f3e9
fix https://github.com/uBlockOrigin/uBlock-issues/issues/209
2018-09-07 09:11:07 -04:00
Raymond Hill
108fb425fc
fix typo in comment
2018-09-06 12:55:57 -04:00
Raymond Hill
ba32c6a473
fix https://github.com/uBlockOrigin/uBlock-issues/issues/208
2018-09-06 12:51:50 -04:00
Raymond Hill
777144b036
fix https://github.com/uBlockOrigin/uBlock-issues/issues/200
2018-09-03 16:15:51 -04:00
Raymond Hill
6d34a52179
fix #2859
2018-09-03 14:06:49 -04:00
Raymond Hill
96525cffa5
code review for 3c85c03194
: simplify counting of script resources
2018-09-01 06:36:17 -04:00
Raymond Hill
3c85c03194
fix #308 , #3436 , https://github.com/uBlockOrigin/uBlock-issues/issues/155
...
<https://github.com/gorhill/uBlock/issues/3436 >: a new per-site switch
has been added, no-scripting, which purpose is to wholly disable/enable
javascript for a given site. This new switch has precedence over all
other ways javascript can be disabled, including precedence over dynamic
filtering rules.
The popup panel will report the number of script resources which have
been seen by uBO for the current page. There is a minor inaccuracy to
be fixed regarding the count, and which fix requires to extend request
journaling.
<https://github.com/gorhill/uBlock/issues/308 >: the `noscript` tags will
now be respected when the new no-scripting switch is in effect on a given
site.
A default setting has been added to the _Settings_ pane to
disable/enable globally the new no-script switch, such that one can
work in default-deny mode regarding javascript execution.
<https://github.com/uBlockOrigin/uBlock-issues/issues/155 >: a new
hidden setting, `requestJournalProcessPeriod`, has been added to
allow controlling the delay before uBO internally process it's
network request journal queue. Default to 1000 (milliseconds).
2018-08-31 18:47:02 -04:00
Raymond Hill
cae7484be1
fix https://github.com/uBlockOrigin/uBlock-issues/issues/171
2018-08-31 10:50:19 -04:00
Raymond Hill
aeb19c952b
fix false positive detection of popups
...
Possibly what was being experienced by this user:
https://twitter.com/Reiniervdhulst/status/1035251223669211137
2018-08-31 09:26:10 -04:00
Raymond Hill
8ca6239e64
fix https://github.com/NanoAdblocker/NanoCore/issues/202
2018-08-30 08:32:56 -04:00
Raymond Hill
e75fba169a
normalize :if to :has (see #3683 )
2018-08-25 09:45:49 -04:00
Raymond Hill
bd3922c580
normalize -abp-has
to has
for better duplicate detection with uBO-specific syntax
2018-08-24 18:31:28 -04:00
Raymond Hill
58bd6b6974
adjust lz4 ttl as suggested by @gwarser; cache resources selfie as string
2018-08-22 08:13:10 -04:00
Raymond Hill
b7c4ee0c45
enable cache storage compression by default
2018-08-21 12:59:35 -04:00
Raymond Hill
b3dec3825c
minor code review of lz4-related code
2018-08-21 11:07:34 -04:00
Raymond Hill
3d867baf0b
fix https://github.com/NanoMeow/QuickReports/issues/6#issuecomment-414516623
2018-08-21 07:07:14 -04:00
Raymond Hill
938d54b1f7
remove unused code meant for Firefox/legacy
2018-08-18 07:51:46 -04:00
Raymond Hill
ed492bc485
fix https://github.com/uBlockOrigin/uBlock-issues/issues/170 , #2240
2018-08-15 07:58:42 -04:00
Raymond Hill
5bd18f1edc
fix "Element picker/zapper does not switch tabs" in https://github.com/uBlockOrigin/uBlock-issues/issues/168
2018-08-14 20:14:13 -04:00
Raymond Hill
4bb1ec5cff
fix https://github.com/uBlockOrigin/uBlock-issues/issues/164 [regression]
2018-08-14 07:33:54 -04:00
Raymond Hill
6db88e67b1
make use of CodeMirror in "Advanced settings" page
2018-08-13 10:21:42 -04:00
Raymond Hill
1aa5497841
fix https://github.com/uBlockOrigin/uBlock-issues/issues/162
2018-08-12 19:58:33 -04:00
Raymond Hill
0aeaf27f58
code review of 38aabc937a
2018-08-12 07:18:34 -04:00
Raymond Hill
38aabc937a
reorganize cache storage compression; workaround fix for #2812
2018-08-11 10:39:43 -04:00
Raymond Hill
8f1b4b52fd
fix #3606
2018-08-09 11:31:25 -04:00
Raymond Hill
e163080518
added optional lz4 compression for cache storage ( https://github.com/uBlockOrigin/uBlock-issues/issues/141 )
...
Squashed commit of the following:
commit 6a8473822537636ac54d5dabdb14472114bb730b
Author: Raymond Hill <rhill@raymondhill.net>
Date: Mon Aug 6 10:56:44 2018 -0400
remove remnant of snappyjs and spurious instruction
commit 9a4b709bee97d3cc2235fab602359fa5953bdb46
Author: Raymond Hill <rhill@raymondhill.net>
Date: Mon Aug 6 09:48:58 2018 -0400
make cache storage compression optionally available on all platforms
New advanced setting: `cacheStorageCompression`. Default is `false`.
commit 22ee6547f2f7c9c5aefe25dea1262a1b31612155
Author: Raymond Hill <rhill@raymondhill.net>
Date: Sun Aug 5 19:16:26 2018 -0400
remove Chromium from lz4 experiment
commit ee3e201c45afe983508f70713a2d43af74737d8d
Author: Raymond Hill <rhill@raymondhill.net>
Date: Sun Aug 5 18:52:43 2018 -0400
import lz4-block-codec.wasm library
commit 883a3118efcfd749c82356fde7134754d6ae371d
Author: Raymond Hill <rhill@raymondhill.net>
Date: Sun Aug 5 18:50:46 2018 -0400
implement storage compression through lz4-wasm [draft]
commit 48d1ccaba407de447c2cd6747dc3a90839c260a7
Merge: 8ae77e6 b34c897
Author: Raymond Hill <rhill@raymondhill.net>
Date: Sat Aug 4 08:56:51 2018 -0400
Merge branch 'master' of github.com:gorhill/uBlock into lz4
commit 8ae77e6aeeaa85af335e664c2560d2afd37288c6
Author: Raymond Hill <rhill@raymondhill.net>
Date: Wed Jul 25 18:17:45 2018 -0400
experiment with compression
2018-08-06 12:34:41 -04:00
Raymond Hill
ec8e1cca15
fix https://github.com/uBlockOrigin/uBlock-issues/issues/149
2018-07-30 08:56:51 -04:00
Raymond Hill
7702b1f4bc
minor code review
2018-07-25 18:24:14 -04:00
Raymond Hill
c417b76cea
code review: prepare for forward-compatibility if ever compression is introduced
2018-07-25 18:04:53 -04:00
Raymond Hill
7ae68c8d7d
fix https://github.com/uBlockOrigin/uBlock-issues/issues/144
2018-07-24 09:17:18 -04:00
Raymond Hill
12118e83aa
code review re. https://github.com/gorhill/uBlock/issues/2356#issuecomment-406909702
2018-07-23 09:54:25 -04:00
Raymond Hill
8db80dc4b8
fix #2356
2018-07-22 15:33:35 -04:00
Raymond Hill
51a4e9ccf4
fix #2763
2018-07-22 10:47:02 -04:00
Raymond Hill
80fedd4647
code review re. 8e9fe020b5
2018-07-22 08:14:50 -04:00
Raymond Hill
d5f40b90f6
fix #2179
2018-07-22 08:14:02 -04:00
Raymond Hill
8e9fe020b5
allow to view list content from blocked-document page
2018-07-21 12:22:53 -04:00
Raymond Hill
182542e917
code review for https://github.com/uBlockOrigin/uBlock-issues/issues/106 : mind keyboard layout
2018-07-20 18:03:32 -04:00
Raymond Hill
c57c760b1e
code review for https://github.com/uBlockOrigin/uBlock-issues/issues/106
2018-07-20 13:52:14 -04:00
Raymond Hill
87b323fe05
fix https://github.com/uBlockOrigin/uBlock-issues/issues/135
2018-07-20 07:11:21 -04:00
Raymond Hill
b5016a1f7a
fix https://github.com/uBlockOrigin/uBlock-issues/issues/136
2018-07-19 22:13:06 -04:00
Raymond Hill
e21705dea6
fix 2320610019 (commitcomment-29762923)
2018-07-19 09:40:39 -04:00
Raymond Hill
fbaf8b4e2f
code review for https://github.com/uBlockOrigin/uBlock-issues/issues/106
2018-07-19 06:46:40 -04:00
Raymond Hill
ef455deb0a
fix https://github.com/uBlockOrigin/uBlock-issues/issues/106
2018-07-18 18:00:55 -04:00
Raymond Hill
dcd98f4efa
fix load-time race condition for high-generic cosmetic filters
...
potentially causing high-generic cosmetic filters to not be applied
because the MRU cache contains an empty list of high-generic filters
when there is a query from a content script for cosmetic filters
before they are fully loaded and ready.
2018-07-16 09:30:36 -04:00
Raymond Hill
224661f905
fix https://github.com/uBlockOrigin/uBlock-issues/issues/118
2018-07-09 15:21:45 -04:00
Raymond Hill
79d5af20fc
fix potential spurious error from ignoring chrome.runtime.lastError
2018-07-08 08:25:08 -04:00
Raymond Hill
73067f27b1
fix bad English in comment
2018-07-06 10:47:51 -04:00
Raymond Hill
3e42b4a97f
fix https://github.com/AdguardTeam/FiltersRegistry/issues/82
2018-07-06 09:50:41 -04:00
Raymond Hill
211048396f
fix https://github.com/uBlockOrigin/uBlock-issues/issues/102
2018-07-04 15:03:09 -04:00
Raymond Hill
cf56d84061
fix https://github.com/uBlockOrigin/uBlock-issues/issues/105
2018-07-04 09:38:37 -04:00
Raymond Hill
bf0654b5ed
code review for 138e1bf558
(oops)
2018-06-26 08:33:44 -04:00
Raymond Hill
138e1bf558
fix https://github.com/uBlockOrigin/uBlock-issues/issues/89
2018-06-26 08:30:58 -04:00
Raymond Hill
4da20e96e7
fix https://github.com/uBlockOrigin/uBlock-issues/issues/84
2018-06-23 19:15:56 -04:00
Raymond Hill
4bcf578606
fix https://www.reddit.com/r/uBlockOrigin/comments/8qodpw/how_to_hide_the_info_shown_of_what_is_currently/e0lglrr/
2018-06-14 08:29:38 -04:00
Raymond Hill
7bd76150a1
code review: fix bad lookup causing [hostname,domain] cache to never be hit
2018-06-04 08:18:13 -04:00
Raymond Hill
b838e22024
code review of 39277172e8
: select "All" when kb shortcut from logger itself
2018-06-03 19:49:08 -04:00
Raymond Hill
39277172e8
fix https://github.com/uBlockOrigin/uBlock-issues/issues/54
2018-06-03 13:56:24 -04:00
Raymond Hill
7766786b2c
code review: reuse last decomposed hostname (hit rate = 75%)
2018-06-03 13:27:42 -04:00
Raymond Hill
4a57825411
code review: remove scriplet js text after injection (see https://github.com/uBlockOrigin/uBlock-issues/issues/53#issuecomment-394024828 )
2018-06-01 18:41:27 -04:00
Raymond Hill
2c843f6e69
code review: chromium 45 supports arrow functions = start using them
2018-06-01 11:49:48 -04:00
Raymond Hill
798f8dab9d
reduce baseline memory at selfie-load time
2018-06-01 07:54:31 -04:00
Raymond Hill
ab867dedf5
improve in-memory storage of specific cosmetic filters + more ES6
...
- collate together specific filters with same base domain
- replace string-based hash to integer-based hash
- revisit code to benefit from ES6-specific syntax
2018-05-31 10:41:03 -04:00
Raymond Hill
c6cab02999
fine-tune logger-related code
...
- Default to being detached
- Default to "Current tab"
- Append current tab title to "Current tab" entry
- Avoid iterating through all tabs when no change
2018-05-27 08:31:17 -04:00
Raymond Hill
f887eeb3f5
code review for c5d8588118
: mind whitelist status; mind an inaccessible document
2018-05-22 09:26:49 -04:00
Raymond Hill
0c5e2eb7ee
code review for c5d8588118
: mind about:blank et al. iframes
2018-05-20 06:49:12 -04:00
Raymond Hill
b4306e3297
code reivew of c5d8588118
: immediate scriptlets injection works well only on Chromium-based browsers for now
2018-05-18 10:19:14 -04:00
Raymond Hill
e693e308d4
code review for c5d8588118
2018-05-17 16:24:08 -04:00
Raymond Hill
21670a031f
use name in manifest for "About" pane
2018-05-17 12:45:57 -04:00
Raymond Hill
f2b2a0dca5
Merge branch 'master' of github.com:gorhill/uBlock
2018-05-17 07:33:31 -04:00
Raymond Hill
c5d8588118
inject scriptlets earlier (experimental) (ex. https://github.com/uBlockOrigin/uAssets/issues/2300 )
2018-05-17 07:33:21 -04:00
Hugo Xu
de6cf0e6aa
Align header parsing to ABP ( #3724 )
2018-05-16 14:55:12 -04:00
Raymond Hill
3a78e73e4b
Merge branch 'master' of github.com:gorhill/uBlock
2018-05-16 11:50:58 -04:00
Raymond Hill
1c8df4a652
fix https://github.com/uBlockOrigin/uBlock-issues/issues/42
2018-05-16 11:50:50 -04:00
Hugo Xu
25786c3257
Round hour up to nearest day ( #3723 )
...
* Update storage.js
* Update storage.js
2018-05-16 11:01:40 -04:00
Raymond Hill
7e5661383a
code review to further lower overhead of updating toolbar icon
2018-05-08 09:43:25 -04:00
Raymond Hill
8dd22c848a
fix https://issues.adblockplus.org/ticket/6649 (allow u
flag in regexes)
2018-05-05 08:14:29 -04:00
Raymond Hill
e5d5d9eaf6
code review for 14709d18cf
2018-05-05 06:28:16 -04:00
Raymond Hill
14709d18cf
fix #2809
2018-05-04 08:44:54 -04:00
Raymond Hill
8be1aed04d
guard against future instances of issue fixed in #3721
2018-05-03 09:55:36 -04:00
Raymond Hill
f64d703ba0
fix quirks in parsing of Steven Black's hosts files
2018-05-01 18:29:58 -04:00
Raymond Hill
efe68e0f9c
fix https://www.reddit.com/r/firefox/comments/8a5e0e/if_you_find_firefox_for_android_slow_disable/dy7q6w2/
2018-04-30 13:00:12 -04:00
Raymond Hill
674c3c6079
fix https://github.com/uBlockOrigin/uBlock-issues/issues/17
2018-04-29 09:07:12 -04:00
Raymond Hill
3923520b87
remove no longer needed platform-dependent polyfill.js
2018-04-27 08:36:38 -04:00
Raymond Hill
fbc5e6d26c
fix https://github.com/uBlockOrigin/uBlock-issues/issues/22
2018-04-24 23:21:54 -04:00
Raymond Hill
427d0fd0ff
fix https://github.com/uBlockOrigin/uBlock-issues/issues/21
2018-04-24 17:12:41 -04:00
anvakl
4d3a2b5f85
Minor fixes to code ( #3720 )
...
* Fix leftovers from old code.
* change changes.procedural.size to changes.procedural.length
changes.procedural is an array so it should be changes.procedural.length
the code works with changes.procedural.size because (undefined !== 0) is always true.
2018-04-24 06:05:30 -04:00
Raymond Hill
10a4a6465e
fix #3639
2018-04-24 05:48:28 -04:00
Raymond Hill
48426469de
code review of 5386558e68
2018-04-22 10:01:33 -04:00
Raymond Hill
5386558e68
fix https://www.reddit.com/r/uBlockOrigin/comments/8dkvqn/116_broken_loading_custom_filters_from_my_filters/
2018-04-21 12:34:54 -04:00
Hugo Xu
048930ca8f
RegExp fix for https://github.com/gorhill/uBlock/issues/3717 ( #3718 )
...
* Update ublock.js
* Update ublock.js
* Update ublock.js
2018-04-20 16:09:41 -04:00
Raymond Hill
9d8e2e20fb
fix firewall pane's save/revert not showing up when scrolled down on small screens
2018-04-20 16:03:37 -04:00
Raymond Hill
86e80d43d6
fix https://github.com/gorhill/uBlock/issues/3693#issuecomment-379782428
2018-04-20 11:26:11 -04:00
Raymond Hill
0036154d52
code review: be sure "ublock" flavor is always present
2018-04-18 07:11:13 -04:00
Raymond Hill
e2af7c5c55
code review: simplfy devbuild detection using webextFlavor
2018-04-14 06:09:36 -04:00
Hugo Xu
ae6b376a75
Fix RegExp escape ( #3700 )
2018-04-11 11:28:10 -04:00
Raymond Hill
c34326cf4e
code review: further tuning filter list directives
2018-04-11 06:34:13 -04:00
Raymond Hill
8436ccbc4e
improve ckoud widget for small screen devices
2018-04-10 11:21:56 -04:00
Raymond Hill
e1c18110c0
code review: fix jshint warning
2018-04-10 08:14:10 -04:00
Raymond Hill
6bbd892dd3
Merge branch 'master' of github.com:gorhill/uBlock
2018-04-10 08:08:36 -04:00
Raymond Hill
94a43bec0d
fix #3694
2018-04-10 08:08:28 -04:00
Hugo Xu
60751044fe
Update scriptlet-filtering.js ( #3696 )
2018-04-09 17:49:35 -04:00
Raymond Hill
00cb02ec47
fix new hidden setting default value not being applied ( https://github.com/orgs/uBlockOrigin/teams/volunteers/discussions/62 )
2018-04-09 17:46:29 -04:00
Raymond Hill
47598d4499
further fine tune "Filter lists" pane ( b60c06f3
)
2018-04-09 15:45:25 -04:00
Raymond Hill
26c2320e46
code review: improve compatibility with StevenBlack hosts files
2018-04-09 15:40:29 -04:00
Raymond Hill
b60c06f3c4
various improvements to the "Filter lists" pane
2018-04-09 09:01:39 -04:00
Raymond Hill
fb2b402940
use Element.matches instead of ugly hack
2018-04-09 08:28:36 -04:00
Raymond Hill
8071321e91
lower default value of manualUpdateAssetFetchPeriod
2018-04-09 08:26:14 -04:00
Hugo Xu
47ae08b0b1
Accept ubo://
( #3682 )
...
This prevents AdBlock and ABP from reacting to subscription links of uBO-only filters.
2018-04-06 17:32:18 -04:00
Raymond Hill
daf948b779
fix https://github.com/gorhill/uBlock/pull/3679#issuecomment-379092981
2018-04-06 16:15:10 -04:00
Raymond Hill
a015ad0a5c
Merge branch 'master' of github.com:gorhill/uBlock
2018-04-06 16:02:41 -04:00
Raymond Hill
4d8974fe80
code review: avoid redundant PSL selfie
2018-04-06 16:02:35 -04:00
Hugo Xu
fc4fccd8e3
Accept # Title:
and # Expires:
; optimize RegExp ( #3679 )
...
* Accept `# Title:` and `# Expires`; optimize RegExp
* Prevent confusion with network filter
2018-04-06 15:59:01 -04:00
Raymond Hill
c0387835fa
code review: modernize old code
2018-04-05 15:22:19 -04:00
Raymond Hill
c1d3b6222e
code review: use regex to speed up CSS selector validation
2018-04-05 09:45:11 -04:00
Raymond Hill
93f49a61d7
add pre-processor directives to filter list compiler ( https://github.com/AdguardTeam/AdguardBrowserExtension/issues/917 )
2018-04-05 07:29:15 -04:00
Raymond Hill
bf384e2bca
better evaluate vAPI.webextFlavor
2018-04-04 12:42:01 -04:00
Raymond Hill
c695599860
code review: adjust position of eraser/padlock only when needed
2018-04-04 08:17:53 -04:00
Raymond Hill
e64a59b32c
fix #3667
2018-04-02 18:40:29 -04:00
Raymond Hill
98df44c373
invalidate resources selfie when new version is detected [Firefox]
2018-04-02 11:03:12 -04:00
Raymond Hill
fe11ff61c8
mind whitelist directives for filterable behind-the-scene requests ( #3654 )
2018-04-02 09:10:38 -04:00
Raymond Hill
9bc029b72c
allow un-whitelisting in non-advanced user mode
2018-03-31 15:02:12 -04:00
Raymond Hill
2632cf63b2
code review for 588a8acc
2018-03-31 12:12:31 -04:00
Raymond Hill
588a8accb1
add default noop rules for behind-the-scene scope
2018-03-31 10:21:11 -04:00
Raymond Hill
0451758163
mind rc
when deriving an integer from version string
2018-03-30 09:58:30 -04:00
Raymond Hill
0a879a816b
treat behind-the-scene network requests like all others
2018-03-30 08:55:51 -04:00
Raymond Hill
9fdda522a1
send cursor at the end when opening "My filters" pane
2018-03-28 19:04:04 -04:00
Raymond Hill
fce2eaf3c3
further improving UI for small screens
2018-03-28 16:15:50 -04:00
Raymond Hill
88f0fd6c00
avoid spurious select-all
2018-03-28 09:43:48 -04:00
Raymond Hill
f764435812
various changes to enhance UI for mobile devices
2018-03-28 09:11:55 -04:00
Raymond Hill
782faf4f44
fix #3646
2018-03-27 19:10:31 -04:00
Raymond Hill
827732a991
revert attempted fix for #3646
2018-03-27 15:03:24 -04:00
Raymond Hill
376c95bcc9
#3646 : find out if this makes a difference
2018-03-27 14:11:06 -04:00
Raymond Hill
e35f6b3df6
code review: no need for callback arg
2018-03-23 15:05:35 -04:00
Raymond Hill
d9161aeffa
fix #3636
2018-03-23 15:03:29 -04:00
Raymond Hill
431b40f8e4
code review for 6871d9aed4
2018-03-21 08:42:21 -04:00
Raymond Hill
6871d9aed4
add ability to filter out rules in "My rules" pane
2018-03-21 07:24:52 -04:00
Raymond Hill
9ce1f8af08
fix https://www.reddit.com/r/uBlockOrigin/comments/8524cf/my_custom_scriptlets_doesnt_work_what_am_i_doing/
2018-03-19 10:25:03 -04:00
Raymond Hill
96d4f987ac
use default codemirror input style, contenteditable
interferes with search widget
2018-03-18 14:04:58 -04:00
Raymond Hill
2afd9919cc
fix #3624
2018-03-18 13:56:20 -04:00
anvakl
33fa25bbe5
fix for gorhill/uBlock#3464 ( #3616 )
...
Adding index to insertRule fixed the issue
2018-03-17 13:35:36 -04:00
Raymond Hill
23accd1c57
fix #3615
2018-03-17 10:25:03 -04:00
Raymond Hill
e26e70ad4e
fix #3614
2018-03-17 08:38:49 -04:00
Raymond Hill
7d110250f3
fix #3611
2018-03-16 18:33:50 -04:00
Raymond Hill
e5eb0ac362
remove comment with erroneous information
2018-03-16 07:49:56 -04:00
Raymond Hill
11ccb4523a
update fix for https://github.com/gorhill/uMatrix/issues/967
2018-03-14 12:06:49 -04:00
Raymond Hill
04cee142bc
fix https://github.com/gorhill/uMatrix/issues/967 (uBO-side)
2018-03-13 17:24:07 -04:00
Raymond Hill
b89ec2861c
fix #3594 : incomplete conversion to CodeMirror widget
2018-03-12 12:08:45 -04:00
Raymond Hill
9715d1e8b9
make use of CodeMirror for Whitelist pane
2018-03-12 08:28:07 -04:00
Raymond Hill
1e8d966938
fix regression in Firefox legacy version
2018-03-11 18:59:21 -04:00
Raymond Hill
eb789939ca
code review for b10ac0020d
: fix too rigid field separator
2018-03-11 12:52:02 -04:00
Raymond Hill
b10ac0020d
make use of CodeMirror in "My rules" pane
2018-03-11 10:59:39 -04:00
Raymond Hill
dd979ff5ff
code review: allow dev build of Firefox to update resources.txt
2018-03-11 10:38:35 -04:00
Raymond Hill
081e5b4db9
fix #3581
2018-03-07 10:37:18 -05:00
Raymond Hill
333c6f60fb
fix #3580
2018-03-07 06:28:26 -05:00
Raymond Hill
a470c119aa
make options separator standout a bit better
2018-03-06 15:47:40 -05:00
Raymond Hill
15530df0e7
code review: reset internal parser data once done parsing
2018-03-06 15:46:05 -05:00
Raymond Hill
ec56165d0d
new script:inject
syntax, use only when next release is *very* widespread
2018-03-06 09:09:53 -05:00
Raymond Hill
34efe9d6f2
[codemirror] use inputStyle=contenteditable for better select-all performance
2018-03-06 06:22:11 -05:00
Raymond Hill
7a90a69347
fine tuning syntax highlighter
2018-03-05 13:05:26 -05:00
Raymond Hill
9b803a2295
fine tuning syntax highlighter
2018-03-05 11:25:45 -05:00
Raymond Hill
9df0202a00
[codemirror] add active line addon
2018-03-05 06:59:03 -05:00
Raymond Hill
2c45971c65
code review: fine tuning look/behavior ( #3567 )
2018-03-04 17:13:27 -05:00
Raymond Hill
c59ceff6a1
code review: always search from current cursor position ( #3567 )
2018-03-04 15:52:34 -05:00
Raymond Hill
a69379068e
fix nonsensical "obsolete" status for user filters
2018-03-04 15:00:42 -05:00
Raymond Hill
bc61bef9a7
address #3567
2018-03-04 14:07:01 -05:00
Raymond Hill
8cf87061f4
fix #3562
2018-03-01 14:12:16 -05:00
Raymond Hill
8d5ebf44ef
support saving using keyboard (through codemirror) in "My filters"
2018-03-01 13:37:23 -05:00
Raymond Hill
959f68ce89
fix #3494
2018-03-01 13:11:17 -05:00
Raymond Hill
61ec088d43
integrate codemirror into "My filters" pane
2018-02-28 18:51:33 -05:00
Raymond Hill
cff1bcb24f
minor code review
2018-02-28 12:36:18 -05:00
Raymond Hill
ac7e012633
start integration of codemirror to improve UI
2018-02-28 12:31:43 -05:00
Raymond Hill
7eeba29220
fix #3551 : regressions as a result of fix to #3428
2018-02-27 06:54:48 -05:00
Raymond Hill
0414ce80a0
code review for #3428
2018-02-26 16:52:16 -05:00
Raymond Hill
67e06f53b4
offer concise version of often-used filter options (see https://github.com/NanoAdblocker/NanoCore/blob/master/Notes/FilterIncompatibility.MD#convenience-options )
2018-02-26 14:08:16 -05:00
Raymond Hill
2c901588c7
fix #3546 , #3428
2018-02-26 13:59:16 -05:00
Raymond Hill
d42adc912d
fix silly mistake in fix for #3526
2018-02-23 09:45:51 -05:00
Raymond Hill
9fb455d2df
fix #3406
2018-02-23 06:42:17 -05:00
Raymond Hill
a81d2a759b
fix #3318 , #3387
2018-02-21 13:29:36 -05:00
Raymond Hill
6b7d8e75f4
bring out of band fixes ( c5cbf5db47
, 2999dbee5c
) for Firefox/webext into master
2018-02-21 08:19:43 -05:00
Raymond Hill
21f7d42f54
fix #3507
2018-02-18 07:16:10 -05:00
Raymond Hill
c3f9f6b716
code review: bit stricter code path
2018-02-18 06:08:48 -05:00
Raymond Hill
4ed0d87b7b
code review: prevent redirection to WAR when request is xmlhttprequest
2018-02-16 13:37:20 -05:00
Raymond Hill
287f04b47e
code review for #3474 , #2823 : simplify management of "web accessible resources"
2018-02-16 09:07:20 -05:00
Raymond Hill
47152560af
import emergency fix from 1.15.6
2018-02-15 17:39:31 -05:00
Raymond Hill
17930cc778
fix #3474 , #2823
2018-02-15 17:25:38 -05:00
Raymond Hill
94c8cfc3f3
fix #3506
2018-02-12 08:18:24 -05:00
Raymond Hill
613ff9cc9b
tentatively fix #3478 : need feedback from reporter
2018-02-03 09:34:27 -05:00
Raymond Hill
51fc60223a
fix #3450
2018-01-20 09:10:23 -05:00
Raymond Hill
888d36fd06
fix #3433
2018-01-13 09:42:42 -05:00
Raymond Hill
a217ca42c9
fix https://github.com/nikrolls/uBlock-Edge/issues/101
2018-01-13 09:07:34 -05:00
Raymond Hill
6219866b53
fix #3430 (regression)
2018-01-12 09:33:01 -05:00
Raymond Hill
36b1eac88e
fix #3425 (regression from 6cdb20df
)
2018-01-10 17:59:07 -05:00
Raymond Hill
9fa1c37183
code review: fix eraser when using "Current tab" view in logger
2018-01-10 11:50:08 -05:00
Raymond Hill
6cdb20dffe
improve logger convenience following fix for #2854
2018-01-09 08:08:17 -05:00
Raymond Hill
689d18c54f
fix #2854
2018-01-08 14:29:39 -05:00
Raymond Hill
f53b3e3930
fix #3416
2018-01-08 07:33:38 -05:00
Raymond Hill
b7155a0e0f
fix #3408
2018-01-07 17:53:33 -05:00
jspenguin2017
178b82eb6a
https://github.com/NanoAdblocker/NanoCore/issues/40
2018-01-06 08:54:28 -05:00
Raymond Hill
a0375bb6a3
add support for iso-8859-1/windows-1252 encoding ( https://github.com/gorhill/uBlock/issues/3391#issuecomment-354868704 )
2018-01-05 13:15:56 -05:00
Raymond Hill
4812ac9b68
fix #3399 (part 1)
2018-01-04 18:26:52 -05:00
Raymond Hill
21b52ec10b
code review: remove pointless test
2018-01-04 17:55:59 -05:00
Raymond Hill
04d84cf92a
fix #3397
2018-01-03 13:59:38 -05:00
Raymond Hill
455bf281f0
fix #3391
2018-01-02 23:06:16 -05:00
Raymond Hill
636dcf7ee4
fix #3383
2018-01-01 07:52:03 -05:00
Raymond Hill
ce696e5fbe
fix #3386
2017-12-31 21:13:06 -05:00
Raymond Hill
ec29c9a127
fix #3382
2017-12-31 16:05:23 -05:00
Raymond Hill
37fde84a45
code review #3367 + improve compatibility with Adguard filters
2017-12-31 08:44:29 -05:00
Raymond Hill
17dfec5759
fix #3372
2017-12-30 18:55:01 -05:00
Raymond Hill
1cd61063fa
fix #3380
2017-12-30 17:38:07 -05:00
Raymond Hill
e84e79f96e
fix #3367
2017-12-30 16:02:34 -05:00
Raymond Hill
f659dc8e49
add TODOs comments
2017-12-30 11:21:23 -05:00
Raymond Hill
f7c02e237f
code review for #3331 : increase restrictions
...
Only resources from within current directory will be allowed,
everything else will be silently rejected.
For example, this will forbid pulling lists from different repos
on GitHub, despite the lists being same origin.
2017-12-30 11:05:15 -05:00
Raymond Hill
6ab34efe44
minor code review: remove pointless test
2017-12-29 21:54:03 -05:00
Raymond Hill
3ec9377c3e
code review: disregard case sensitivity
2017-12-29 21:29:57 -05:00
Raymond Hill
a3f7392f06
code review: mind length of data available
2017-12-29 20:33:24 -05:00
Raymond Hill
b36320c643
code review: improve scriptlet inject code in stream data listener
2017-12-29 20:26:03 -05:00
Raymond Hill
6f8099fb90
fix regression in scriptlet injection: mind BOM sequence in response data filtering
2017-12-29 15:56:15 -05:00
Raymond Hill
5c20182948
fix regression in per-list filter counts (reported by @mapx-)
2017-12-29 13:31:37 -05:00
Raymond Hill
707d7708a1
code review: fix recursivity in HTML filtering's procedural selectors
2017-12-29 10:26:50 -05:00
Raymond Hill
31791f2dd2
code review: caller always expect an array as return value
2017-12-29 09:02:26 -05:00
Raymond Hill
a8d79feecd
fix #3379 (regression from a9f68fe02f
)
2017-12-29 08:05:50 -05:00
Raymond Hill
a9f68fe02f
Fix #3069 , and consequently #3374 , #3378 .
...
A new filtering class has been created: "static extended filtering".
This new class is an umbrella class for more specialized filtering
engines:
- Cosmetic filtering
- Scriptlet filtering
- HTML filtering
HTML filtering is available only on platforms which support modifying
the response body on the fly, so only Firefox 57+ at the moment.
With the ability to modify the response body, HTML filtering has
been introduced: removing elements from the DOM before the source
data has been parsed by the browser.
A consequence of HTML filtering ability is to bring back script tag
filtering feature.
2017-12-28 13:49:02 -05:00
Raymond Hill
3f335ad432
address incomplete fix for #2877 as per feedback: dec0b80a72 (commitcomment-26447318)
2017-12-23 08:14:08 -05:00
Raymond Hill
4f5f3652ed
code review re last commit b446f9f8bd
2017-12-22 11:56:27 -05:00
Raymond Hill
b446f9f8bd
fix regression reported in dec0b80a72 (commitcomment-26435928)
by partially reverting changes from 4a09c9f866
2017-12-22 11:45:07 -05:00
Raymond Hill
4ab63e70fe
code review: avoid Array.splice/unshift
...
The array size stays the same, items are just moved around.
2017-12-22 09:37:26 -05:00
Raymond Hill
607968de7f
code review: cache most-recently-used pre-filled scriptlets
2017-12-21 17:05:25 -05:00
Raymond Hill
4a09c9f866
improve slightly pre-parsing of ##script:...
filters
2017-12-17 10:28:12 -05:00
Raymond Hill
dec0b80a72
fix #2877
2017-12-17 08:09:47 -05:00
Raymond Hill
8e7ccef14c
code review for #3331 : support relative paths as per https://github.com/AdguardTeam/AdguardBrowserExtension/issues/917
2017-12-15 09:24:06 -05:00
Raymond Hill
912582ce4b
code review: remove space as per https://github.com/AdguardTeam/AdguardBrowserExtension/issues/917
2017-12-15 07:55:15 -05:00
Raymond Hill
6a8c27b6df
fix #3331 : ability to fetch sublists using !# include
directives
2017-12-15 07:39:21 -05:00
Raymond Hill
36956cbc7a
remove obsolete resource caching code
2017-12-14 16:42:54 -05:00
Raymond Hill
ca8917149d
fix #3341
2017-12-13 08:02:55 -05:00
gorhill
958a7c20ed
fix #3335
2017-12-10 15:03:03 -05:00
gorhill
e83ffde5af
code review for #3328
2017-12-08 07:07:05 -05:00
gorhill
c7e8b65b6c
fix #3328
2017-12-08 00:33:02 -05:00
gorhill
faad68f37b
code review: simplify needlessly complicated logger buffering code
2017-12-01 16:42:33 -05:00
gorhill
142ed51f05
comment fix with issue number ( #3287 )
2017-11-27 17:09:22 -05:00
gorhill
426d9e9db1
fix #3287
2017-11-27 14:48:01 -05:00
gorhill
75659a3154
fix #3260
2017-11-22 07:41:33 -05:00
Kacper Michajłow
ec70c75264
improve DOM inspector ( #3254 )
...
* dom-inspector: Improvments
- Fix race between userCSS injection and element highlight resulting in none or not all elements highlighted.
- Fix page being scanned twice resulting in unneeded slowdown.
* dom-inspector: Clear mutationTimer to allow more than one update.
* dom-inspector: Fix procedural filters shown as declarative with expando.
2017-11-21 18:08:32 -05:00
gorhill
b85ea96d1e
fix #3257
2017-11-21 13:38:31 -05:00
gorhill
806032cdc4
improve DOM inspector
...
- Fix regressions reported in #3159
- Fix #2001
- Fix some item points in #407
2017-11-20 08:42:32 -05:00
gorhill
387eaa0b21
fix #3185
2017-11-16 10:55:28 -05:00
gorhill
b02fcb1b31
fix #3130
2017-11-16 00:34:01 -05:00
gorhill
118240d36d
fix #3232 (regression from 386e8bee9c
)
2017-11-15 16:32:52 -05:00
gorhill
374e157b11
fix #3159
2017-11-14 15:03:20 -05:00
gorhill
034e46b055
mind isTrusted for click events (see https://palant.de/2017/11/11/on-web-extensions-shortcomings-and-their-impact-on-add-on-security )
2017-11-12 07:44:28 -05:00
gorhill
48f65f11d1
fix #2963
2017-11-12 07:41:55 -05:00
gorhill
8b0df725a1
minor code review ( #2072 )
2017-11-10 08:01:04 -05:00
gorhill
7b27e8f08a
add further fixes as per feedback ( #2072 )
2017-11-10 07:53:27 -05:00
gorhill
d3d522ac46
fix #3213
2017-11-10 06:56:38 -05:00
gorhill
bc036724c1
code review ( #3208 )
2017-11-09 15:46:25 -05:00
gorhill
386e8bee9c
fix #3210
2017-11-09 12:53:05 -05:00
gorhill
3dcfc302e4
fix https://github.com/gorhill/uBlock/issues/3208#issuecomment-342900031
2017-11-08 13:29:04 -05:00
gorhill
e5afbb2ed7
further make popup panel more ARIA-friendly ( #2072 )
2017-11-08 07:34:22 -05:00
gorhill
9884ff115a
code review e7294a46d4
: force refresh tooltip if needed
2017-11-07 17:03:24 -05:00
gorhill
e7294a46d4
fix https://github.com/gorhill/uBlock/issues/2072#issuecomment-342594160
2017-11-07 16:38:26 -05:00
gorhill
9d86ab0af9
fix #3201
2017-11-07 11:31:19 -05:00
gorhill
4d20950dfa
save investigative work for the future re. wasm
2017-11-05 12:33:46 -05:00
gorhill
da605f53a6
code review: avoid pointless test for single-char cells
2017-11-05 06:45:43 -05:00
gorhill
f71d3689a9
fix case 2 of #3199
2017-11-04 23:51:44 -04:00
gorhill
8d44bf9837
fix #3187 again, as per feedback
2017-11-03 16:51:28 -04:00
gorhill
22c460d52f
just edit comments
2017-11-03 08:36:16 -04:00
gorhill
5928996f2a
address #3193
2017-11-02 15:49:11 -04:00
gorhill
2ca8c76cb8
fix #3187
2017-11-02 11:12:17 -04:00
gorhill
3044590fa6
code review: allow free scrolling in element picker mode
2017-10-31 08:26:51 -04:00
gorhill
2db377f577
code review: lower timer delay = less risk of large backlog
2017-10-31 06:47:39 -04:00
gorhill
cbff97f8e7
code review: improve caching of high generics with exceptions
2017-10-29 13:58:46 -04:00
gorhill
25e2452722
code review: use for..of instead of for(..;..;..)
2017-10-28 16:50:44 -04:00
gorhill
005c659500
code review: improve element picker for touch-only devices
2017-10-28 09:07:41 -04:00
gorhill
bbda2a9086
code review: preemptively address https://bugzilla.mozilla.org/show_bug.cgi?id=1408996#c9
2017-10-27 14:22:45 -04:00
gorhill
d60edbfae1
code review last commit: oops
2017-10-26 06:23:57 -04:00
gorhill
44ce44aa42
code review: early injection of lookred up generic cosmetic filters when possible
2017-10-26 06:18:03 -04:00
gorhill
6b65e3f406
code review: avoid reinjecting already injected low generic cosmetic filters
2017-10-25 11:42:18 -04:00
gorhill
26e9bb7c19
code review: use Map instead of Object
2017-10-25 11:37:58 -04:00
gorhill
9952e12aff
fine tune DOM surveyor
2017-10-24 16:38:51 -04:00
gorhill
ed5dba432a
fix https://discourse.mozilla.org/t/support-ublock-origin/6746/606
2017-10-24 09:09:10 -04:00
gorhill
2bea51cc63
fix silly regression regarding the DOM surveyor
2017-10-24 07:55:35 -04:00
gorhill
7571d4c576
fix no-popups switch color in logger
2017-10-23 22:39:30 -04:00
gorhill
9b891384af
fix #3165
2017-10-23 22:27:39 -04:00
gorhill
f516cd3d26
remove unused source code
2017-10-23 13:33:35 -04:00
gorhill
a76f5b15ac
fix https://github.com/gorhill/uBlock/issues/3160#issuecomment-338509997
2017-10-23 12:21:37 -04:00
gorhill
6e18829f02
add to #2984 : fix regressions, as per feedback and code review
2017-10-23 09:01:00 -04:00
gorhill
14109b33d6
minor code review
2017-10-22 14:20:33 -04:00
gorhill
ef84e6d8fd
fix https://github.com/gorhill/uBlock/issues/2984#issuecomment-338475886
2017-10-22 12:48:13 -04:00
gorhill
4f7aab695c
fix #3160
2017-10-22 08:59:29 -04:00
gorhill
6112a68faf
fix #2984
2017-10-21 13:43:46 -04:00
gorhill
95b25f7d49
fix #3150
2017-10-19 09:35:28 -04:00
gorhill
143e9c7414
more code review re. #3140
2017-10-19 08:07:00 -04:00
gorhill
7e21eec7ce
code review for #3140 : handle case where both blockedURI & sourceFile are not found
2017-10-19 00:45:24 -04:00
gorhill
eb7bdba47f
fix #3140
2017-10-18 15:00:22 -04:00
gorhill
d44c54a477
code review: diregard letter case when validating popup filters as popunder ones
2017-10-13 09:52:17 -04:00
gorhill
9b83033785
code review of 7713597e
(oops)
2017-10-13 09:38:16 -04:00
gorhill
7713597e3e
fix #3129 , #3112 , #2277
2017-10-13 09:33:02 -04:00
gorhill
0c1207bd7a
fix #3110
2017-10-09 09:28:28 -04:00
gorhill
8c33720d16
fix #3111
2017-10-08 23:47:23 -04:00
gorhill
49c19f2dcc
remove stray console.log used for development purpose
2017-10-06 13:47:39 -04:00
gorhill
4639d75896
fix #3101
2017-10-06 13:35:45 -04:00
gorhill
c49ba60f0b
minor code review
2017-10-05 08:38:34 -04:00
gorhill
bd18fe3901
fix #2793 : user-friendlier normalization
2017-10-04 13:20:43 -04:00
gorhill
a6b01cb0e5
fix #3090
2017-10-04 11:14:24 -04:00
gorhill
e7e390d2e2
fix #3077
2017-10-01 07:56:28 -04:00
gorhill
ca299a394f
code review fix as per https://github.com/gorhill/uBlock/issues/2793#issuecomment-333269387
2017-09-30 10:18:41 -04:00
gorhill
6a71fc59a4
evict possible remnant of resources.txt from cache [Firefox]
2017-09-29 08:22:17 -04:00
gorhill
8559669e89
fix #2755
2017-09-28 12:53:05 -04:00
gorhill
d73b888150
fix #3060
2017-09-27 10:27:29 -04:00
gorhill
c74526a895
fix #3057
2017-09-26 16:09:35 -04:00
gorhill
83ff2ef26e
fix #3053
2017-09-26 07:54:06 -04:00
gorhill
ac481ec1f2
fix #1510
2017-09-21 11:46:15 -04:00
gorhill
e9beccba51
code review of fix #3038
2017-09-19 23:25:08 -04:00
gorhill
1b6c211fa0
fix #3038
2017-09-19 12:58:11 -04:00
gorhill
59ba5248f5
fix #3034
2017-09-18 13:06:36 -04:00
gorhill
b677600637
fix #3032 -- hopefully
2017-09-18 10:52:30 -04:00
gorhill
1e760f9429
fix #3024 : regression from 5626b500
2017-09-16 07:59:56 -04:00
gorhill
2c4faaa84d
fix #3020
2017-09-16 07:49:43 -04:00
gorhill
f632171566
remove spurious space character
2017-09-14 17:54:59 -04:00
gorhill
faeedeaf56
fix #2283
2017-09-13 23:41:20 -04:00
gorhill
5626b5005a
fix #2946
2017-09-12 11:43:43 -04:00
gorhill
dfe18111b9
fix #1539
2017-09-11 09:53:42 -04:00
gorhill
c641cadea9
rename "Social" filter list category to "Annoyances"
2017-09-10 13:02:04 -04:00
gorhill
2660bee0d2
fix #2919
2017-09-05 19:49:48 -04:00
gorhill
8b4b1fa9db
properly fix #2938
2017-08-31 14:17:55 -04:00
gorhill
73387e54ad
fix #2938
2017-08-30 19:03:02 -04:00
gorhill
126110c9a0
remove ability to pull latest version of resources.txt from remote repo.
...
This is required as per Firefox extension reviewers. Mail exchange:
========
Reviewer:
> Do I read the code correctly that you are executing remote JS by
> downloading/updating from
> https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/resources.txt
> and injecting scripts in contentscripts.js?
Me:
> Yes, resources.txt contains scriptlets or other resources used to:
>
> - Minimize potential page breakage (e.g. google-analytics.com/ga.js);
> - Defuse anti-blockers (e.g. bab-defuser.js);
> - Defuse anti-blockers or minimize page breakage through redirection
> (e.g. 2x2-transparent.png)
>
> This is not a new feature -- this is also part of the legacy version,
> and I consider this is a major feature of uBO. Given how fast things can
> change out there, this allows me to quickly push fixes when a new issue
> is reported for a site without having to go through a full update of the
> extension.
Reviewer:
> I am aware that this is not a new feature. I am unclear why it has been
> allowed in the past, since it violates our policy about remote code
> execution. I assume it was missed due to the fairly complex codebase.
>
> I can approve this version so you are not blocked on the migration, but
> eventually, you cannot use functionality that executes remote code.
> Since we're moving to a more automated review process, you will be able
> to ship new versions without being blocked on a human review.
Me:
> Do I understand correctly that extensions such as TamperMonkey or
> ViolentMonkey won't be allowed on AMO?
>
> Those extensions are even more permissive than uBO given a user can
> import scripts from any source, while with uBO only scriptlets which are
> part of the project are allowed.
Reviewer:
> The key difference between add-ons like Tampermonkey and uBO is that in
> Tampermonkey, users are making an active and conscious decision to
> download and execute that specific code. In uBO, the user did not
> initiate that download/execution, nor are they even aware of it
> happening.
Me:
> So users of TamperMonkey -- tech-savvy or not -- can download & inject
> countless 3rd-party user scripts from countless authors, have them
> update on their own automatically at regular interval with no user
> intervention.
>
> On the other hand, it's not acceptable for me, the author of the
> extension, who users implicitly trusted when installing the extension,
> who is completely controlling and vouching for the content of
> "resources.txt", to have this one 1st-party resource file[1] to be
> updated at regular interval with no user intervention.
>
> So anyways, what is expected from me at this point? Do I need to remove
> scriptlet injection and resource redirection features? Do I need to
> remove only the updating part of resources.txt?
>
> [1] key to core features of uBO (counter anti-blockers + page breakage
> mitigations) and possibly an important factor in installing the
> extension.
========
Now about this commit: the purpose of the code change here is to
prevent "resources.txt" -- which is part of the package -- from being
updated -- this applies only to the Firefox webext[-hybrid] version
of uBO.
2017-08-30 09:15:06 -04:00
gorhill
beb7933016
fix #2925
2017-08-29 18:32:00 -04:00
gorhill
b2e89c9ece
generate better regex for hostname-anchored generic filters
2017-08-24 18:30:05 -04:00
gorhill
c31d29c2e3
fix bad test: regression from fdcc9515
2017-08-24 17:54:27 -04:00
gorhill
63be43a365
shield content script against exceptions in injected scriptlets
2017-08-21 12:04:35 -04:00
gorhill
a1350b8cff
fix #2882
2017-08-17 09:54:01 -04:00
gorhill
fdcc9515dc
fix #2029
2017-08-17 08:25:02 -04:00
gorhill
d1c752da29
fix bad English in comment
2017-08-16 18:06:04 -04:00
gorhill
797082a36c
fix #2552
2017-08-16 14:10:41 -04:00
gorhill
5f72565f7a
fix #2873
2017-08-15 09:09:16 -04:00
gorhill
0e078e536d
eliminate validation warning on AMO: avoid innerHTML
2017-08-11 14:26:15 -04:00
gorhill
eb3519b075
fix #2839
2017-08-03 10:18:05 -04:00
gorhill
43512277c6
fix #2835
2017-07-31 17:03:09 -04:00
gorhill
645c862886
always set browserAction title
2017-07-25 09:16:48 -04:00
gorhill
906cb34716
make uBO/webext functional on Firefox for Android Nightly
2017-07-24 19:25:49 -04:00
gorhill
d866e4d472
add proper handling of potentially unsupported webext APIs
2017-07-24 11:35:22 -04:00
gorhill
0d892a8856
fix #2810
2017-07-23 09:56:43 -04:00
gorhill
48ee02980b
remove stray code change from f5ef83719c
2017-07-22 17:13:21 -04:00
gorhill
b429e1c7ba
fix #2813
2017-07-22 16:58:08 -04:00
gorhill
f5ef83719c
address #2806
2017-07-21 07:48:50 -04:00
gorhill
f1036395f7
add workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1360285
2017-07-19 09:36:17 -04:00
gorhill
49d287994f
remove obsolete default whitelist directive
2017-07-14 07:49:58 -04:00
gorhill
36317e67a2
#2781 : code review, small fine tuning
2017-07-13 14:34:43 -04:00
gorhill
3aed25ff2c
#2781 : code review, try a bit harder to find a good token
2017-07-11 15:04:25 -04:00
gorhill
f0ea2b6f9a
#2781 : code review
2017-07-11 13:57:31 -04:00
gorhill
2862368a99
fix #2781
2017-07-11 12:21:08 -04:00
gorhill
93f575c4c0
fix https://github.com/gorhill/uBlock/issues/2776#issuecomment-313922863
2017-07-09 10:39:23 -04:00
gorhill
7fb034f640
minor code review: logData can still be set when not logging
2017-07-09 08:45:55 -04:00
gorhill
9701a519a2
really fix #2776
2017-07-09 06:58:34 -04:00
gorhill
974194ab8d
fix #2776
2017-07-08 20:03:37 -04:00
gorhill
9ac4dc9f81
fix #2768
2017-07-07 11:23:24 -04:00
gorhill
186c119202
fix #2753
2017-07-03 10:54:30 -04:00
gorhill
414765f526
code review: fix workaround for legacy FF
2017-07-03 10:50:47 -04:00
gorhill
2cb8ddbe03
fix #2740
2017-07-03 10:20:47 -04:00
gorhill
a8382e821d
work around for #2734 until fixed in Nightly
2017-07-03 09:51:34 -04:00
gorhill
20346ef0ed
auto-convert removed stock list into an imported list
2017-07-03 09:08:46 -04:00
gorhill
d337abe504
minor code review
2017-06-22 14:36:45 -04:00
Sean Stangl
88fcf53d34
Check childElementCount directly. ( #2725 )
2017-06-21 20:09:19 -04:00
gorhill
9b55684551
fix #2718
2017-06-21 15:49:42 -04:00
gorhill
5ee1fa7684
fix #2720
2017-06-21 07:17:44 -04:00
gorhill
84f22ce3a6
code review: do not pollute logger with firewall noop rules
2017-06-14 08:32:12 -04:00
gorhill
2c9c98eb79
fix #2664
2017-06-07 17:35:22 -04:00
gorhill
6b293dd58b
code review: put back erroneously removed line
2017-06-07 13:20:35 -04:00
gorhill
e17e9c804a
fix #1754
2017-06-05 09:26:11 -04:00
gorhill
cc935ee19a
minor fine tuning
2017-06-02 08:17:09 -04:00
gorhill
dbe95c438b
fix #2666
2017-05-31 11:49:37 -04:00
gorhill
5b66a8419d
ignore "Delete" key in element picker mode
2017-05-31 07:26:01 -04:00
gorhill
c7a9befdab
fix #2664
2017-05-30 13:04:01 -04:00
gorhill
9c79840134
fix #2663
2017-05-30 11:38:45 -04:00
gorhill
062846a7d2
make zapper compatible with touch screens
2017-05-29 10:38:22 -04:00
gorhill
1581ec20d8
fix #2659 (regression)
2017-05-28 16:57:02 -04:00
gorhill
189c9d55dd
convenience: shift-click to stay in element-zapper mode
2017-05-28 13:45:11 -04:00
gorhill
c1589cafaa
fix popup panel layout as per feedback: 39aeaa12a7 (commitcomment-22310294)
2017-05-28 13:32:08 -04:00
gorhill
d50e76745d
fix #2658
2017-05-28 12:21:56 -04:00
gorhill
95f29c98fd
fix #2658
2017-05-28 10:53:13 -04:00
gorhill
78d9c4d1c5
implement opening logger with kbd shortcut
2017-05-28 09:40:26 -04:00
gorhill
9a4681d4e1
fix #2656
2017-05-27 14:31:46 -04:00
gorhill
39aeaa12a7
new feature: element zapper
2017-05-27 11:51:24 -04:00
gorhill
aae97b8535
fix badfilter option; performance work
...
- badfilter option was no longer working following last refactoring
changes.
- performance work:
- reduce duplication of large strings.
- new lighter FilterBucket to use when only 2 filters: FilterPair.
2017-05-26 20:00:21 -04:00
gorhill
1c685c86a7
mind https://bugs.chromium.org/p/v8/issues/detail?id=2869
2017-05-26 12:46:36 -04:00
gorhill
8d2319e011
fix "purge all" button not disabled when there is nothing left to purge
2017-05-26 08:31:19 -04:00
gorhill
f3e6057e07
fix #2598 : refactor to address the cause rather than the symptoms
2017-05-25 17:46:59 -04:00
gorhill
a4ec9f5dae
fix #2640
2017-05-23 12:16:53 -04:00
gorhill
fd776bbf51
fix #2622
2017-05-20 17:05:55 -04:00
gorhill
fd03683045
minor code review: it makes no difference, I just prefer no indent there
2017-05-20 16:32:42 -04:00
gorhill
be9d76f43d
fix #2624
2017-05-20 15:35:19 -04:00
gorhill
3109d19e3c
code review: avoid compiling twice when list is fetched from remote location the 1st time
2017-05-20 15:32:03 -04:00
gorhill
da5f1c80d3
fix long latent issue exposed by acf7562b0f
2017-05-19 21:07:37 -04:00
gorhill
acf7562b0f
minor code review
2017-05-19 20:22:26 -04:00
gorhill
853f012802
fix #2631 : regression introduced in 0232382695
2017-05-19 20:21:28 -04:00
gorhill
fcf43d972e
tentatively fix issue reported in #2612 re. FFox 24.8.1
2017-05-19 10:12:55 -04:00
gorhill
a222e23e49
fix #2630
2017-05-19 08:45:19 -04:00
gorhill
92f94c7765
minor formatting change
2017-05-18 18:55:03 -04:00
gorhill
5f63398af8
fix regression reported at http://forums.mozillazine.org/viewtopic.php?p=14748380#p14748380
2017-05-17 17:40:55 -04:00
gorhill
0464075dfc
code review: fix "logger enabled" code paths re. csp injection
2017-05-17 09:25:11 -04:00
gorhill
ca32a693df
fix regression re. badfilter option
2017-05-16 20:03:02 -04:00
gorhill
da71918112
code review "csp=" parsing: reject if "report-" directive present
2017-05-16 12:44:12 -04:00
gorhill
29b1e87a92
make key always numerical since only native Map() is used, as per #2612
2017-05-16 10:25:00 -04:00
gorhill
fc9764d51a
merge changes from master
2017-05-15 13:51:03 -04:00
gorhill
139d97179f
as per #2612 , use native Set() in content scripts
2017-05-15 08:51:25 -04:00
gorhill
8f42232105
fix #2609
2017-05-14 12:01:56 -04:00
gorhill
892d9b504a
minor code review while at it
2017-05-13 08:57:30 -04:00
gorhill
f1805d8175
fix #2607
2017-05-13 08:51:56 -04:00
gorhill
721993b488
remove stray console.log
2017-05-12 11:49:00 -04:00
gorhill
0232382695
refactor static network filtering, add support for csp injection
2017-05-12 10:35:11 -04:00
gorhill
ea47cae003
fix #2599
2017-05-09 08:58:30 -04:00
gorhill
1c7c703d8b
fix #2594
2017-05-08 14:00:41 -04:00
gorhill
622d8f22fb
minor code review re. #2592
2017-05-08 12:12:56 -04:00
gorhill
22d74421e3
fix #2594
2017-05-08 11:49:48 -04:00
gorhill
fe61cdddee
fix #2585
2017-05-06 13:19:16 -04:00
gorhill
42afd0c3d0
code review: to/from punycode conversion only if needed
2017-05-03 19:43:09 -04:00
gorhill
9a3288a166
Revert "more cases re #2529 ". Reason: breaks links in dashboard on Firefox.
...
This reverts commit 3c0022d73a
.
2017-04-29 10:07:18 -04:00
gorhill
3c0022d73a
more cases re #2529
2017-04-27 09:09:29 -04:00
gorhill
e50a05a8d0
minor code review
2017-04-26 12:50:05 -04:00
gorhill
669be3d45d
fine tune tooltips in 3rd-party lists pane
2017-04-26 12:21:01 -04:00
gorhill
3ce3ed2a0e
code review: simplify CSP injection code
2017-04-24 19:11:13 -04:00
gorhill
733917d176
fix #2526 : better handle timeout conditions
2017-04-23 09:00:15 -04:00
gorhill
de3d99ed13
re. #2550 : just implement the logic used to solve https://bugs.chromium.org/p/chromium/issues/detail?id=683314
2017-04-22 19:24:20 -04:00
gorhill
52332da623
improve solution to #2550 : mind only the 22 confusable unicode characters
2017-04-22 14:26:17 -04:00
gorhill
0b3d1477f2
add basic mitigation to potential abuse of IDN
2017-04-22 12:57:56 -04:00
gorhill
582edd5e62
fix #2519
2017-04-08 10:40:38 -04:00
gorhill
510eba6bc4
fix #2477
2017-04-04 16:45:50 -04:00
gorhill
51ade9f043
code review re. https://github.com/uBlockOrigin/uAssets/issues/192#issuecomment-285904675
2017-03-21 08:23:21 -04:00
gorhill
2dcf7b7974
fix #2464
2017-03-20 15:54:41 -04:00
gorhill
64c92a96a3
fix https://github.com/nikrolls/uBlock-Edge/issues/64
2017-03-16 19:31:14 -04:00
gorhill
d7f751d42b
fix #2440
2017-03-16 19:14:25 -04:00
gorhill
53b0db3d25
fix #2447
2017-03-14 15:09:40 -04:00
gorhill
cf123b9264
fix #2448
2017-03-13 13:03:51 -04:00
gorhill
0d2c0a5ba3
fix #2450
2017-03-13 10:07:26 -04:00
gorhill
7a023077b3
performance work for pseudo-user styles code
2017-03-12 10:22:46 -04:00
gorhill
a4e20ae3ad
new filter option: "badfilter" (see https://github.com/uBlockOrigin/uAssets/issues/192 )
2017-03-11 13:55:47 -05:00
gorhill
7e55ddf16b
re. websocket: mind backward compatibility
2017-03-06 17:53:25 -05:00
gorhill
2213b005a0
forgot to add "ws://*/*"/"wss://*/*" to enable support for websocket type"
2017-03-06 17:34:46 -05:00
gorhill
5015826546
fix #2267
2017-03-05 12:54:47 -05:00
gorhill
4d1ed37556
Firefox WebExt readiness ( #622 ) + support more webRequest types when available (websocket, font, csp_report)
2017-03-05 08:25:55 -05:00
Nik Rolls
a121f2261d
DOM Inspector: Fallback to .childNodes when .children not present ( #2242 )
...
When the browser does not support .children on the svgRoot element
(MS Edge, for example), filter childNodes for elements and use that
list instead.
2017-02-28 01:19:00 -05:00
gorhill
798e21de36
fix #2414
2017-02-27 16:29:36 -05:00
gorhill
1c4347d69d
element picker improvement: to not discard class information when an id is available
...
Use class(es) whenever available instead of the id when selecting a
broad cosmetic filter (ctrl-click).
When asking for a broad cosmetic filter, using the id instead of
whatever available class(es) is limiting usefulness. The change
here address this.
Example of use case: open
<http://forums.mozillazine.org/viewtopic.php?f=38&t=3027325 >.
Now how to remove all signature widgets from all posts?
Without the change here, this was not possible without opening the
browser's inspector, finding out and manually typing whatever class
is used to identify the signature's root element.
With this commit, ctrl-click will now use whatever class information
exist instead of the id.
2017-02-13 08:33:10 -05:00
gorhill
28084e1dc9
code review: marginal performance improvement
2017-02-12 15:53:40 -05:00
gorhill
1e1508cdd2
code review of dynamic URL filtering engine
2017-02-11 11:44:18 -05:00
gorhill
cbca48307c
fix https://github.com/gorhill/uBlock/pull/2314#issuecomment-278716960
2017-02-09 13:33:32 -05:00
gorhill
7176ecb3e7
code review of fix to #2360
2017-02-07 08:05:39 -05:00
gorhill
a742f09dd4
fix #2360
2017-02-06 15:34:31 -05:00
gorhill
1bceca9cbb
fix var name ( https://github.com/el1t/uBlock-Safari/issues/25#issuecomment-277506943 ))
2017-02-05 07:43:28 -05:00
gorhill
60605033bf
fix #1871 ? ("blind" fix, need confirmation)
2017-02-03 08:12:26 -05:00
gorhill
0b4f31bd8a
fix #2344
2017-01-27 13:44:52 -05:00
gorhill
aadf4a6427
fix #2340
2017-01-26 10:17:38 -05:00
gorhill
d79a781bea
report blanket websocket blocking once only
2017-01-25 09:21:16 -05:00
gorhill
0e11d6e95e
code review: fix rtl rendering of 3rd-party filters pane
2017-01-24 13:53:04 -05:00
gorhill
1a075bc673
code review: mobile-friendly changes
2017-01-24 08:23:52 -05:00
gorhill
97db7ba13e
fix #2332
2017-01-23 17:16:37 -05:00
gorhill
96df129ddb
code reivew: do not cache assets fetched for viewing purpose
2017-01-23 10:13:07 -05:00
gorhill
50800427b3
generic code review related to the new 3rd-party filter pane
2017-01-23 09:35:05 -05:00
gorhill
9309df4196
3rd-party filters pane revisited
2017-01-22 16:05:16 -05:00
gorhill
6e48c74e4e
code review: auto-select new built-in asset if it matches locale ( https://github.com/uBlockOrigin/uAssets/issues/268#issuecomment-274146120 )
2017-01-20 15:17:11 -05:00
gorhill
71a1e8c694
code review of 3rd-party filters pane code
2017-01-20 08:40:19 -05:00
gorhill
29c7ba6a1a
fix occasional sticky spinner
2017-01-19 14:03:08 -05:00
gorhill
82155c09b6
fix #2323
2017-01-19 08:35:08 -05:00
gorhill
726f0d6e1f
remove stray change mistakenly added to last commit
2017-01-18 18:22:33 -05:00
gorhill
f4d2d6c891
forgot to adjust alises after modifying assts.json
2017-01-18 17:59:49 -05:00
gorhill
ff64a8340c
code review: only built-in assets are candidates for removal when updating assets.json
2017-01-18 13:35:10 -05:00
Raymond Hill
3b9fd49c50
Assets management refactored ( #2314 )
...
* refactoring assets management code
* finalizing refactoring of assets management
* various code review of new assets management code
* fix #2281
* fix #1961
* fix #1293
* fix #1275
* fix update scheduler timing logic
* forward compatibility (to be removed once 1.11+ is widespread)
* more codereview; give admins ability to specify own assets.json
* "assetKey" is more accurate than "path"
* fix group count update when building dom incrementally
* reorganize content (order, added URLs, etc.)
* ability to customize updater through advanced settings
* better spinner icon
2017-01-18 13:17:47 -05:00
gorhill
69fc59305e
fix https://github.com/uBlockOrigin/uAssets/issues/263#issuecomment-272615772
2017-01-18 13:01:13 -05:00
gorhill
54032e520b
fix https://github.com/gorhill/uBO-Extra/issues/19
2017-01-17 18:18:28 -05:00
gorhill
3b41237e4b
fix #2301
2017-01-12 08:45:46 -05:00
gorhill
2b1ab2234f
re #2294 : mind unicode in "domain=" option + update URL of Adguard lists
2017-01-09 09:53:57 -05:00
gorhill
9c4fbeb1fc
fix #2294
2017-01-09 08:56:42 -05:00
gorhill
a303c7800e
fix #2290
2017-01-08 14:36:08 -05:00
gorhill
a927725bd9
code review: one getter per instance is wasteful
2017-01-07 17:18:22 -05:00
gorhill
2691ac95b4
fix fullsize popup regression ( https://github.com/gorhill/uBlock/issues/2153#issuecomment-271095067 )
2017-01-07 13:02:33 -05:00
gorhill
6175a216b7
fix #2291
2017-01-07 10:50:53 -05:00
gorhill
bacf5021e0
performance work:
...
- refactor "domain=" option matcher in light of
https://gorhill.github.io/obj-vs-set-vs-map/set-vs-regexp.html
- reuse existing instance of "domain=" matchers and filters
wherever possible
2017-01-06 12:39:37 -05:00
gorhill
1a92fff641
fix https://github.com/uBlockOrigin/uAssets/issues/255
2017-01-02 10:50:03 -05:00
gorhill
38a5f5751b
code review: be sure all invalid cosmetic filters are reported in logger
2016-12-30 10:41:16 -05:00
gorhill
c6dbdbd23b
code review of procedural cosmetic filters + better validate :style option ( #2278 )
2016-12-30 10:32:17 -05:00
gorhill
e5f435c3b1
complete fix to #2274 : detect device rotation
2016-12-29 14:43:20 -05:00
gorhill
e09b702470
fix #2274 (hopefully)
2016-12-28 23:39:15 -05:00
gorhill
5aa122e856
allow lone css selector in :if/:if-not operators
2016-12-27 12:32:52 -05:00
gorhill
7558fedc38
fix typo in new :if/:if-not procedural operators
2016-12-26 12:37:43 -05:00
gorhill
6e458dca5c
fix #2264
2016-12-26 11:35:37 -05:00
gorhill
251bbe0f43
use plain E instead of Greek epsilon (for some reason does not render fine in FFox)
2016-12-25 17:05:30 -05:00
gorhill
d4155bf9e0
new revision for dev build + force lists to be recompiled
2016-12-25 17:00:24 -05:00
gorhill
73a69711f2
add chainable and recursive cosmetic procedural filters
2016-12-25 16:56:39 -05:00
gorhill
2f01fcda54
fix #2256
2016-12-21 11:44:03 -05:00
gorhill
cec17097a4
fix #2249
2016-12-19 00:30:14 -05:00
gorhill
c39adacc50
better abstraction of user styles
2016-12-16 16:25:36 -05:00
gorhill
94637ee4ff
fix https://github.com/nikrolls/uBlock-Edge/issues/30
2016-12-15 10:47:32 -05:00
gorhill
c3c92f85ff
fix #2225
2016-12-07 20:18:58 -05:00
gorhill
d1ac1286b7
addendum to fix for #2206 : auto scroll to the end of user filters text box
2016-12-07 09:43:11 -05:00
gorhill
4837b15895
fix #2206
2016-12-03 14:03:28 -05:00
gorhill
235d1266e8
fix #2210
2016-12-03 09:21:31 -05:00
gorhill
02a79ea9fc
avoid CPU-costly Date.toLocale(Date|Time)String() in logger page
2016-12-02 12:17:07 -05:00
gorhill
98d2bbada7
revise matches-css implementation as per #1930 and https://github.com/uBlockOrigin/uAssets/issues/212
2016-12-01 11:55:05 -05:00
gorhill
08867e64b6
remove unused files
2016-11-23 16:43:26 -05:00
gorhill
02f757e995
scriptlet arguments: allow any character, escape properly
2016-11-17 09:25:37 -05:00
gorhill
73c8a96c48
workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1317173
2016-11-16 16:08:03 -05:00
gorhill
8c352e1fac
code review: do not test for ip address each time we broaden hostname
2016-11-12 13:42:36 -05:00
gorhill
cbf3dc9a0d
maybe fix #2147
2016-11-12 13:38:41 -05:00
gorhill
54508db9c4
code review re #2132
2016-11-09 09:47:50 -05:00
gorhill
54e8761ce6
code review re #2132
2016-11-08 16:40:15 -05:00
gorhill
6f512f39fb
code review re #2132
2016-11-08 16:31:04 -05:00
gorhill
d913eea1f6
fix #2132 + various minor code review
2016-11-08 15:53:08 -05:00
gorhill
d62059ccc7
fix #2103
2016-11-08 07:13:26 -05:00
gorhill
4d0eaf3b3c
code review: various minor changes
2016-11-07 14:53:04 -05:00
gorhill
a92decd641
fix #1578 : regex as whitelist directive
2016-11-06 16:51:19 -05:00
gorhill
ee4fc2aed6
code review re advanced settings + added popupFontSize
2016-11-06 16:27:21 -05:00
gorhill
bc379a123e
fix #1493
2016-11-06 10:49:02 -05:00
gorhill
446d7fad2e
fix #2010 , #2086
2016-11-05 14:48:42 -04:00
gorhill
c6793eff98
code review re. #2067
2016-11-03 23:42:03 -04:00
gorhill
8c3da95d65
fix #2067 (experimental) + support for hidden settings
2016-11-03 11:20:47 -04:00
gorhill
0abc257fee
fix #2119
2016-11-02 00:27:16 -04:00
Nik Rolls
be8e514464
Prevent possible error when a node has no children ( #2108 )
...
Compat with Edge; SVG nodes don't have a `children` property and therefore this throws an error whenever an SVG is added, removed or moved in the DOM.
2016-10-30 16:04:53 -04:00
gorhill
015d38dc8c
fix #1691 (regression from a7fe367eec
)
2016-10-30 15:54:05 -04:00
gorhill
3f8c7b915c
fix #1668
2016-10-30 15:19:58 -04:00
gorhill
efdf43f1d5
FF webext does not support getBytesInUse()
2016-10-30 13:06:23 -04:00
gorhill
b2193a2b54
probably fix #2053
2016-10-29 11:15:04 -04:00
gorhill
50889da226
code review re. 3628de7a9d
2016-10-29 10:28:50 -04:00
gorhill
b55447635e
fix #2106 (regression from #1669 )
2016-10-29 09:55:09 -04:00
gorhill
de3054b485
code review re. 3628de7a9d
2016-10-29 08:42:29 -04:00
gorhill
3628de7a9d
necessary changes for https://github.com/nikrolls/uBlock-Edge/pull/22
2016-10-28 08:40:38 -04:00
gorhill
de587335bd
elemhide
is (and has always been) really generichide
2016-10-27 08:33:19 -04:00
gorhill
6062ec9b23
fix #2100
2016-10-26 12:40:05 -04:00
gorhill
f6c46ab582
fix #2099
2016-10-26 08:59:15 -04:00
gorhill
d827accdf0
fix FF add-on validator warning
2016-10-25 10:20:29 -04:00
gorhill
e01a130bc5
changes required to use chromium platform code for webext platform code
2016-10-19 10:20:26 -04:00
gorhill
46fb194904
fix #2084
2016-10-18 12:33:50 -04:00
gorhill
70ab1a26de
code review re. #1884 , as per feedback at https://bugs.chromium.org/p/chromium/issues/detail?id=637577#c15
2016-10-17 09:37:59 -04:00
gorhill
2e953b45c9
make cloud storage support optional
...
(currently not supported on FF-webext and MS Edge)
2016-10-16 13:04:31 -04:00
gorhill
5a50708961
(webext) support for vAPI.adminStorage is optional
2016-10-15 09:32:33 -04:00
gorhill
cbefeb923c
fix #1884
2016-10-14 10:06:34 -04:00
gorhill
da163bbe4b
fix #1641
2016-10-13 13:25:57 -04:00
gorhill
b105010f34
minor code review
2016-10-11 11:53:28 -04:00
gorhill
0454ad1b1f
re. #1070 : rewrite redirect engine to use ES6 Sets/Maps
2016-10-10 09:01:05 -04:00
gorhill
cd81f866b9
code review: benefit from ES6 Set() in content script
...
fall back on legacy browser-specific polyfill code if required.
2016-10-09 11:09:25 -04:00
gorhill
a1fa4d0fe9
fix #2060
2016-10-08 15:14:24 -04:00
gorhill
3ff3ae7d70
fix #2053
2016-10-08 10:15:31 -04:00
gorhill
b20b43e351
fix #2011 : improve heuristic on when to give up on DOM surveying
2016-10-06 10:49:46 -04:00
gorhill
751e34f3ce
fix #2050
2016-10-05 18:18:32 -04:00
gorhill
c956b93369
fix #1669
2016-10-03 23:41:23 -04:00
gorhill
6557024434
code review re. #1772 : fixed previewing of :has() filters
2016-10-01 13:34:20 -04:00
gorhill
c084853d9a
fix #1772 : ability to preview procedural cosmetic filters
2016-10-01 12:34:25 -04:00
gorhill
7984c7562c
fix #2033
2016-09-27 08:31:12 -04:00
gorhill
42938c9b63
code review re. #1954 : also support implicit entity-based scriptlets
2016-09-26 13:45:55 -04:00
gorhill
c538b260de
import fix for #2025 , new revision for dev build
2016-09-24 17:35:53 -04:00
gorhill
1a29be62fb
fix #2025
2016-09-24 17:19:52 -04:00
gorhill
21f3dc83ec
code review re. #1912
2016-09-24 14:42:31 -04:00
gorhill
95ec573141
fix #2014
2016-09-24 14:36:08 -04:00
gorhill
0a15a95ad9
fix #1912
2016-09-22 12:18:01 -04:00
gorhill
ef0a7ed5cb
code review re. #1997 : be sure the setting is persisted
2016-09-16 19:12:16 -04:00
gorhill
269c35a04a
fix #1997
2016-09-16 17:41:17 -04:00
gorhill
a39bd8a1c0
fix regression from a7fe367eec
: see https://github.com/uBlockOrigin/uAssets/issues/101#issuecomment-246777505
2016-09-13 15:25:22 -04:00
gorhill
0870aea2eb
code review re. #1735
2016-09-13 11:56:13 -04:00
gorhill
08dd67b854
fix #1735
2016-09-13 11:25:24 -04:00
gorhill
aac6c091c2
fix regression from a7fe367eec
: see https://github.com/uBlockOrigin/uAssets/issues/138#issuecomment-246666723
2016-09-13 09:03:00 -04:00
gorhill
a7fe367eec
refactor where appropriate to make use of ES6 Set/Map ( #1070 )
...
At the same time, the following issues were fixed:
- #1954 : automatically lookup site-specific scriptlets
- https://github.com/uBlockOrigin/uAssets/issues/23
2016-09-12 10:22:25 -04:00
Mathias Rangel Wulff
b8dc685d01
Identify Map correctly ( #1972 )
...
Using Google bigquery I found that your code was comparing the result of `typeof` with a variable named `undefined`.
As typeof returns a string it should compare to a string with the content `'undefined'`
2016-09-09 09:54:41 -04:00
gorhill
276d51c4f0
code review: this can catch more cases (re d07baef742
)
2016-09-05 18:56:35 -04:00
gorhill
d07baef742
broaden detection of websocket-specific filters (see https://github.com/gorhill/uBlock/issues/1943#issuecomment-243188946 )
2016-09-05 18:45:10 -04:00
gorhill
4851bc4f34
fix #1955 : discard cosmetic filters with pseudo-classes
2016-09-01 15:54:01 -04:00
gorhill
33234fdd8b
fix #1952
2016-08-31 17:50:49 -04:00
gorhill
d4ce29397a
code review re. 60f60c2c97
2016-08-31 05:19:16 -04:00
gorhill
35b46cab4c
code review re. 60f60c2c97
2016-08-30 22:45:24 -04:00
gorhill
83e66b36f1
patch or convert filters meant to target websocket network requests
2016-08-30 19:57:25 -04:00
gorhill
60f60c2c97
fix spurious strict blocking when other
is used ( https://github.com/uBlockOrigin/uAssets/issues/123#issuecomment-243602934 )
2016-08-30 19:55:41 -04:00
gorhill
c3582e1aca
minor code review: render domain=
option as the last one
2016-08-30 19:54:42 -04:00
gorhill
0db340450e
code review re. #1943
2016-08-29 08:10:18 -04:00
gorhill
bbc00ebb81
fix #1943
2016-08-29 07:55:13 -04:00
gorhill
3a459bbc5e
fix https://github.com/gorhill/uBlock/issues/1936#issuecomment-242964554
2016-08-28 06:40:41 -04:00
gorhill
8586aee848
fix #1936 : ability to foil WebSocket using a CSP directive
2016-08-27 11:08:56 -04:00
gorhill
5a0f651b28
possibly work around #1713 -- until real underlying cause is identified
2016-08-25 15:47:18 -04:00
Cqoicebordel
42ce8e7e5d
Add vivaldi-scheme as a default in Whitelist ( #1785 )
...
Vivaldi is another browser based on Blink, that supports uBlock. Adding its scheme in the default whitelisting would prevent any issue with it.
2016-08-24 09:05:36 -04:00
gorhill
5cbe583c0a
fix #1929
2016-08-23 10:33:28 -04:00
gorhill
e6d1a1f896
fix #1927 (revised commit msg due to missing quote)
2016-08-22 19:14:37 -04:00
gorhill
6000adb751
help generate better suggested cosmetic filters for iframes
2016-08-21 09:49:11 -04:00
gorhill
17724b2fec
code review re. matches-css
: to support pseudo class :after
2016-08-19 08:46:39 -04:00
gorhill
46a87a649b
fix #1909
2016-08-18 11:54:38 -04:00
gorhill
dbdc81aaf5
fix #1903
2016-08-16 12:12:35 -04:00
gorhill
2725479709
better fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1232354 , as pointed out in comments
2016-08-15 22:50:24 -04:00
gorhill
a76703b6ad
convenience fix for #1901
2016-08-15 13:10:32 -04:00
gorhill
d82a7e1ece
fix #1897
2016-08-15 07:52:50 -04:00
gorhill
48416bebee
code review: minor fine tuning
2016-08-14 08:51:52 -04:00
gorhill
fb7bd0cc1d
fix #1893
2016-08-13 21:45:01 -04:00
gorhill
e9157bafb7
fix #1892 , #1891
2016-08-13 16:42:58 -04:00
gorhill
839fed43ae
minor code review
2016-08-12 11:31:13 -04:00
gorhill
6fd0bb4291
more refactoring of content script: better modularization of various components
2016-08-12 08:55:35 -04:00
gorhill
8d35a05c05
code review re. 6fab1fe585
2016-08-08 19:41:53 -04:00
gorhill
6fab1fe585
code review domCollapser: avoid duplicates -- helps for https://bugzilla.mozilla.org/show_bug.cgi?id=1232354
2016-08-08 09:59:57 -04:00
gorhill
458b9758ef
minor code review
2016-08-06 23:29:58 -04:00
gorhill
5d572f54de
fix #1873
2016-08-06 21:07:05 -04:00
gorhill
372f4b4c86
minor code review
2016-08-06 12:09:18 -04:00
gorhill
6bd356dd2c
fix #1856
2016-08-06 12:05:01 -04:00
gorhill
16acbca1fa
minor code review re. https://bugzilla.mozilla.org/show_bug.cgi?id=1232354
2016-08-06 10:20:11 -04:00
gorhill
6a8be4bdeb
import fix from 1.8.2
2016-08-05 14:12:31 -04:00
gorhill
cc6f80610f
fix regression: exception thrown when creating filter thru element picker
2016-08-05 13:51:56 -04:00
gorhill
a5a9e0ce7c
replace csstext()
with more flexible/efficient matches-css()
2016-08-03 09:20:55 -04:00
gorhill
1ca285f8bd
add new cosmetic operator csstext()
2016-08-03 08:06:51 -04:00
gorhill
0165d2e066
minor code review
2016-07-31 18:43:17 -04:00
gorhill
788ff0a21f
code review: do not delay injection of specific cosmetic filters
2016-07-26 08:21:03 -04:00
gorhill
4da4709ed5
hopefully fix #1782 : treat data: URI as 1st-party resources
2016-07-25 08:18:17 -04:00
gorhill
41b20cac3f
prevent use of url()
in injected styles
2016-07-18 15:43:03 -04:00
gorhill
6895e6c7f9
minor code reivew: no need to scope to root for re-styling filters
2016-07-16 18:15:42 -04:00
gorhill
bc62af8bf5
support redirection of network requests of type "media"
2016-07-14 13:31:00 -04:00
gorhill
9e7fbb857b
cosmetic filtering: stop surveying and/or filtering after too many consecutive misses
2016-07-12 13:29:30 -04:00
gorhill
dce5487fc0
i need a vacation
2016-07-09 21:49:28 -04:00
gorhill
7e4e69fd84
returning self.Set was not a good idea
2016-07-09 21:40:07 -04:00
gorhill
d12ae9277c
fix silly bug from last commit (breaking Pale Moon)
2016-07-09 20:00:18 -04:00
gorhill
02e6b088ef
further refactoring + performance: skip surveying DOM after too many empty resultset
2016-07-09 19:21:46 -04:00
gorhill
ed315d0a3b
fix #1786
2016-07-07 16:42:01 -04:00
gorhill
b9d1cd54bc
fix #1779 : do not give up scanning the list if first match turns out negative
2016-07-04 19:42:34 -04:00
gorhill
9d5b03ce66
fix #1774
2016-07-03 00:13:17 -04:00
gorhill
682e0c8916
fix #1773
2016-07-02 11:07:12 -04:00
gorhill
0e244d9822
fix #1765
2016-07-01 15:15:58 -04:00
gorhill
973d3e79c1
minor code review
2016-07-01 14:33:43 -04:00
gorhill
9d8499b4b1
fix #1770
2016-07-01 12:54:10 -04:00
gorhill
7f9c01d38f
fix https://github.com/gorhill/uBlock/issues/769#issuecomment-229873048 and more completely #762 + dom inspector regressions
2016-07-01 08:09:48 -04:00
gorhill
eabeedcd04
code review: use already available collections where possible
2016-07-01 06:44:02 -04:00
gorhill
d092f02573
fix broken short-term per-page cache
2016-07-01 00:16:10 -04:00
gorhill
8374799c7d
various minor code review
2016-06-30 22:03:29 -04:00
gorhill
a3f6a4186a
instrumenting content scripts to make for easy profiling when needed
2016-06-30 16:10:38 -04:00
gorhill
e6c38257be
fix broken xpath operator + various code review
2016-06-30 10:23:38 -04:00
gorhill
87d0cce9b2
remove stray comma separator in injected CSS declarations
2016-06-29 18:12:21 -04:00
gorhill
3752ac4880
fix #781 : support for explicit style properties
2016-06-29 17:07:33 -04:00
gorhill
a5f7cbf969
new content script code: fix regression
2016-06-29 09:33:04 -04:00
gorhill
e99d993a4c
new content script code: perf work re. high-high generics
...
Now splitting high-high generics in two subgroups: one group for
simple selectors, another group for complex selectors. Turns out
the great majority of high-high generics are simple selectors, and
simple selectors can be applied incrementally with DOM changes, as
opposed to complex selectors. This brings in a significant perf.
improvement in the processing of high-high generics (previously,
all high-high generic selectors were processed as one big complex
selector).
2016-06-28 22:01:15 -04:00
gorhill
b65699aef2
new content script code: code review, fine tuning perf
2016-06-28 19:45:11 -04:00
gorhill
2d68c8ee6c
new content script code: code review, fine tuning perf
2016-06-28 09:06:14 -04:00
gorhill
6c513629bf
refactor content script code + add support for new :has
& :xpath
filters
...
Aside extending cosmetic filtering abilities, I expect this will
also take care of some long standing issues (I will have to find them
and mark them as "resolved" by this commit, as time allow).
2016-06-27 19:09:04 -04:00
gorhill
72fdce64f0
fix issue reported in comment https://github.com/gorhill/uBlock/issues/1669#issuecomment-224822448
2016-06-27 14:11:36 -04:00
gorhill
fffa919d03
fix #1757 : fixed typo in comment
2016-06-26 21:16:54 -04:00
gorhill
c14277f5aa
fix #1757
2016-06-26 21:15:18 -04:00
gorhill
2292e75f9a
fix #1733
2016-06-19 13:26:02 -04:00
gorhill
367e6ee8de
fix #1726
2016-06-16 19:10:07 -04:00
gorhill
1cd24380ce
more sensible fix to #1725
2016-06-16 10:55:49 -04:00
gorhill
a33dc4f8e2
fix #1725 (assuming the issue was uBO not properly blocking data:
images)
2016-06-16 09:46:18 -04:00
gorhill
c0515c20a4
set a limit on longth of suggested network filters (see https://github.com/gorhill/uBlock/issues/1725#issuecomment-226479197 )
2016-06-16 09:15:49 -04:00
gorhill
a5ecf2ed68
fix #1691
2016-06-06 09:11:27 -04:00
gorhill
520c58102e
fix typo in comment
2016-05-28 09:19:35 -04:00
gorhill
5ee427d0f8
fix #1662
2016-05-28 09:18:36 -04:00
gorhill
fd5f07350c
fix https://github.com/gorhill/uBlock/issues/1660
2016-05-26 08:49:59 -04:00
gorhill
2ea36d6a7f
fix https://github.com/uBlockOrigin/uAssets/issues/50
2016-05-26 08:34:28 -04:00
gorhill
c5fd181bff
fix #1629
2016-05-13 11:10:09 -04:00
gorhill
b61fb331de
fix the undue discarding of logger events in edge cases
2016-05-07 11:45:26 -04:00
gorhill
47b3e26942
fix #1607
2016-05-03 08:22:48 -04:00
gorhill
71d2eed225
this fixes #1598
2016-04-28 11:28:08 -04:00
gorhill
f8e266c2b0
this fixes #1597
2016-04-27 10:08:32 -04:00
gorhill
62a4cafe2f
code review re. #1202 : mind style priority (repro case at #1575 )
2016-04-19 09:15:06 -04:00
gorhill
051cc685ce
element picker: code review
2016-04-17 10:15:01 -04:00
gorhill
c68ff1487a
element picker: more sensible implementation ctrl-clicking a filter candidate
2016-04-16 13:21:48 -04:00
gorhill
e475e1ece8
this fixes #650 ; code reviewed changes re. #1202 , #1545 ; fine tuning picker UI
2016-04-16 11:20:01 -04:00
gorhill
def2b7cbff
this fixes #1202 , #1545 , other improvements
2016-04-15 12:27:53 -04:00
gorhill
63d27b1d25
this fixes #1559
2016-04-12 08:48:24 -04:00
gorhill
13f746a2ca
this fixes #1538
2016-04-05 09:59:23 -04:00
gorhill
cad3c5f5cb
update packaging scripts for https://github.com/uBlockOrigin/uAssets repo
2016-04-03 13:07:46 -04:00
gorhill
ebcafc8db2
this fixes #1529 : harden element picker styles against external changes
2016-04-03 08:34:28 -04:00
gorhill
d286eff4ba
spin-off filter lists into their own dedicated project
2016-04-01 20:58:35 -04:00
gorhill
1794c25145
code review: do not hold onto log entries when logger become unused
2016-03-30 08:37:41 -04:00
gorhill
62b087ef88
this fixes #1511 (point 2)
2016-03-28 09:31:53 -04:00
gorhill
6095a1db0f
AMO review: keep dev console clean
2016-03-27 09:24:57 -04:00
gorhill
95d0ffafb7
this fixes #870
2016-03-22 10:19:41 -04:00
gorhill
84093bcd0d
this addresses some of https://forums.lanik.us/viewtopic.php?f=91&t=29253
2016-03-21 10:33:40 -04:00
gorhill
36e681e39b
this fixes #1484
2016-03-17 13:56:21 -04:00
gorhill
18937849c3
code review as per feedback from last commit: 99a3d96310 (commitcomment-16748337)
2016-03-17 12:16:56 -04:00
gorhill
99a3d96310
this addresses https://github.com/ABPIsrael/EasyListHebrew/issues/89
2016-03-17 10:32:11 -04:00
gorhill
2f037e6f72
#1477 : put back mistakenly removed block of code
2016-03-16 12:11:37 -04:00
gorhill
74905aa2a5
this fixes #370 , #1477
2016-03-15 11:18:34 -04:00
gorhill
4650b8778a
this fixes #1471
2016-03-12 10:48:31 -05:00
gorhill
5a2e9bc1a7
this fixes #1468
2016-03-12 01:25:02 -05:00
gorhill
eb8c17d55c
this takes care of #1443
2016-03-08 16:35:06 -05:00
gorhill
e5c2eff2d0
code review to fix "javascript.options.strict" warnings in browser console of Firefox
2016-03-07 09:55:04 -05:00
gorhill
c96d90b048
this fixes #883
2016-03-06 19:16:46 -05:00
gorhill
c91c91f2dc
this fixes #1448
2016-03-05 23:38:23 -05:00
gorhill
037bdca6d6
commented code for the addon reviewers
2016-03-05 14:59:01 -05:00
gorhill
324c26b20c
code review: cleanup cosmetic filtering engine on shutdown
2016-03-04 20:25:35 -05:00
gorhill
5a7ab32d24
cosmetic filtering: discard new ABP's CSS property filters (until implemented)
2016-03-02 08:10:59 -05:00
gorhill
b451d1ce06
minor code review
2016-03-01 08:32:47 -05:00
gorhill
02014f915e
revert fix for #1028 : can't be fixed without bad side effects
2016-02-27 12:04:28 -05:00
gorhill
ff0ccbd803
this fixes #1339 , #1028 , #1010 : non-broad popup filters will also be used to block popunders
2016-02-26 09:48:43 -05:00
gorhill
abb6d1a610
this fixes #1403
2016-02-22 15:54:07 -05:00
gorhill
04d59367b0
minor code review
2016-02-17 10:04:55 -05:00
gorhill
0adae9fb65
this fixes #1395
2016-02-17 09:28:20 -05:00
gorhill
939b3a2d83
this fixes #1392
2016-02-16 13:15:30 -05:00
gorhill
d42f72caac
#1378 : oops -- this is the proper fix
2016-02-14 11:02:43 -05:00
gorhill
95d6240b21
this fixes #1378 : there may be no "clicked URL" (regression)
2016-02-14 10:55:23 -05:00
gorhill
f044854068
this fixes #1359
2016-02-09 18:53:36 -05:00
gorhill
c10f74ccd5
make it easier to get screenshots of fully expanded popup panel
2016-02-06 09:50:02 -05:00
gorhill
a89f908a16
this fixes #1341
2016-02-04 08:21:59 -05:00
gorhill
0eb0efa79c
wontfix #1330 , still code reviewed while at it
2016-02-03 19:15:28 -05:00
gorhill
e4f35e9f3d
Revert "this fixes dm" -- I meant to commit only changes to assets
...
This reverts commit 5b5c661e0d
.
2016-02-03 18:47:30 -05:00
gorhill
5b5c661e0d
this fixes dm
2016-02-03 18:37:56 -05:00
gorhill
c7f1027ab9
this fixes #1321
2016-01-30 19:16:30 -05:00
gorhill
8b721f654c
removed commented out code
...
This addresses debian package warning that a line is longer than 512 chars:
https://lintian.debian.org/maintainer/pkg-mozext-maintainers@lists.alioth.debian.org.html#ublock-origin
2016-01-28 15:09:24 -05:00
gorhill
2d502076d6
code review: disregard case-matching in redirection filters
2016-01-27 12:42:46 -05:00
gorhill
cf77bc2dae
1st part of fix for #1293 : 2nd part after 6 weeks following release of 1.6.0
2016-01-25 00:54:54 -05:00
gorhill
3e526476d7
block-by-size: some sites use outline
, this hides our placeholders
2016-01-24 19:57:57 -05:00
gorhill
606522cd62
minor: removed spurious trailing space
2016-01-24 16:09:47 -05:00
gorhill
8b5108db93
code review: fixed broken sort in domainCachePrune().
...
A negative side-effect of not sorting properly the entries was to
cause raw filter lists to linger in memory due to v8's sliced-
string implementation, which caused the parent string (a whole
filter list possibly) to be kept around forever even though it was
no longer used by uBO (raw filter lists are compiled then discarded).
2016-01-24 16:03:08 -05:00
gorhill
1f5b9b0e13
this fixes #1285
2016-01-24 10:15:32 -05:00
gorhill
58838ce4c5
blocked-image-by-size: getComputedStyle() on Pale Moon can return null
2016-01-23 16:57:20 -05:00
gorhill
7a0b4356ad
blocked-image-by-size: be sure placeholder is visible in interactive mode
2016-01-23 16:42:23 -05:00
gorhill
7a49a7f56f
this addresses #1275 : will complete the fix 4-6 weeks after releasing 1.6.0
2016-01-22 20:01:07 -05:00
gorhill
1f345b585f
this should fix #1276
2016-01-22 11:13:29 -05:00
gorhill
dcb7ba9f7f
code review redirection engine: minimize number of entries in inner loop
2016-01-21 18:30:06 -05:00
gorhill
3eff3c62b0
Re. #1250 : propagate injected scripts to local iframes
2016-01-21 09:33:54 -05:00
gorhill
cdfdb570bb
minor code review: pass a string, not an array
2016-01-21 09:04:04 -05:00
gorhill
4bb9ef59ba
this fixes #1258
2016-01-19 15:04:44 -05:00
gorhill
a7a840500b
this fixes https://github.com/gorhill/uBlock/issues/1163#issuecomment-172390974
2016-01-18 00:26:29 -05:00
gorhill
89148351e8
#1163 : this implements "block elements by size"
2016-01-17 13:30:43 -05:00
gorhill
08d7ce96aa
this fixes #1246
2016-01-16 20:21:17 -05:00
gorhill
da2902524b
code review: avoid forEach
2016-01-15 09:21:33 -05:00
gorhill
fbafeb03ae
#1171 : use <<
for redirection events
2016-01-15 09:17:59 -05:00
gorhill
7722f25603
#1171 : use >>
to mark redirection events
2016-01-11 08:28:07 -05:00
gorhill
778cd739ef
this fixes #1206
2016-01-11 01:04:51 -05:00
gorhill
50cee5dfe5
this fixes #790
2016-01-08 11:08:53 -05:00
gorhill
ddd77985ef
remove block-then-redirect 1st-party list.
...
redirection is now used for all kind of purpose: privacy, to counter
anti-blocker mechanisms, etc.
2016-01-07 18:09:06 -05:00
gorhill
91c2763259
this fixes #1171
2016-01-07 17:30:56 -05:00
gorhill
0b0b88684a
this fixes #838
2016-01-05 10:08:28 -05:00
gorhill
7fbde83a28
this fixes #912
2016-01-04 10:48:28 -05:00
gorhill
16a128dff0
this fixes #747
2016-01-03 13:58:25 -05:00
gorhill
b63f55b7af
this fixes #1121 : allow
rule will no longer affect cosmetic filtering.
...
the per-site cosmetic filtering switch must be used instead.
2015-12-30 17:35:32 -05:00
gorhill
a944873b83
code review: convert static filtering's tokenizer to a global utility
2015-12-29 11:34:41 -05:00
gorhill
a16ba964df
this fixes #1127 (regression bug)
2015-12-27 15:41:48 -05:00
gorhill
a7901cd97e
this fixes entity-based script tag filters, as reported in https://github.com/IDKwhattoputhere
2015-12-27 12:34:40 -05:00
gorhill
1365d150db
lower parser restrictions for redirect filters
2015-12-23 18:36:57 -05:00
gorhill
3956605ee0
general code review re. most recent commits
2015-12-23 11:02:36 -05:00
gorhill
4a000459ab
redirect-resources.txt to be used for more than just redirection
2015-12-23 07:23:09 -05:00
gorhill
1fe5a16c32
this fixes #1100 : ability to inject directly a resource from redirection library
2015-12-22 16:32:09 -05:00
gorhill
520e251112
this fixes #1093
2015-12-22 11:17:32 -05:00
gorhill
13969ed937
minor code review
2015-12-19 17:58:26 -05:00
gorhill
ce3178cb16
this fixes good Adguard filters rejected due to empty
keyword
2015-12-18 12:19:13 -05:00
gorhill
9b1db96254
this fixes subscribe links not working if URL has a fragment identifier
2015-12-18 12:18:34 -05:00
gorhill
d871f158f6
this fixes #1076
2015-12-17 11:59:39 -05:00
gorhill
043825285c
this fixes an issue with the updating of redirection resources
2015-12-15 21:34:36 -05:00
gorhill
00e6d40965
actually only chromium-based browsers need this, and
...
AMO does not like mingling with prototypes of native
types.
2015-12-15 14:15:02 -05:00
gorhill
ea49484dd3
this fixes #1067 + partially fixes #1070
2015-12-15 10:40:40 -05:00
gorhill
af4dba5158
this fixes #1064
2015-12-14 00:54:41 -05:00
gorhill
33291c4dca
popunder fine tuning: reverting 1d448b85b2
for the time being
2015-12-13 19:04:58 -05:00
gorhill
a2fb13653a
code review: overwrite list title only for external filter lists
2015-12-13 18:00:43 -05:00
gorhill
945a8a999a
this fixes 1d448b85b2 (commitcomment-14944764)
2015-12-13 13:46:22 -05:00
gorhill
dfdd5a10f3
#1056 : strict compliance re ^
2015-12-13 12:55:55 -05:00
gorhill
933b6ad594
#1056 : code review
2015-12-13 11:03:13 -05:00
gorhill
720f76fb5a
this addresses #1056
2015-12-13 10:26:55 -05:00
gorhill
d7523aad6d
this fixes #451
2015-12-13 00:56:30 -05:00
gorhill
9c12ef02bb
cosmetic filtering switch must disable ONLY cosmetic filtering.
...
Before this fix, the turning off cosmetic filtering through the per-site
cosmetic filtering switch was also disabling the blocked resources
collapser.
2015-12-13 00:33:53 -05:00
gorhill
47f6a565fa
return null
for non-existing elements
2015-12-13 00:17:38 -05:00
gorhill
1d448b85b2
fine tuning popunder filtering: ignore is target URL was clicked by user
2015-12-13 00:16:35 -05:00
gorhill
04c6d16e21
this addresses #1052 (corrected)
2015-12-12 16:13:56 -05:00
gorhill
8f0d925bdf
this fixes #1047
2015-12-11 06:36:28 -05:00
gorhill
db1dcbfda8
oops, forgot to remove console.log used for dev purpose
2015-12-10 16:49:39 -05:00
gorhill
e2e86de89a
this fixes #1031
2015-12-08 14:06:33 -05:00
gorhill
c3aadde898
code review re. #1024
2015-12-07 11:18:56 -05:00
gorhill
85dcf6ee17
this fixes #1024
2015-12-07 11:09:39 -05:00
gorhill
3b61f7d11d
minor code review
2015-12-07 11:06:06 -05:00
gorhill
fd1ccebf41
this fixes #1022
2015-12-07 08:59:22 -05:00
gorhill
334506e1b9
experimental filters
2015-12-06 08:22:31 -05:00
gorhill
89f0e8f1a9
this fixes #1015
2015-12-05 18:02:04 -05:00
gorhill
a3c8e6b37e
code review: stricter interpretation of ^
2015-12-05 12:25:18 -05:00
gorhill
94e4a95f9b
this further fix #997 : no need to use /
for leading *
2015-12-05 01:28:17 -05:00
gorhill
0c5ef268ad
sensible default rules in case one un-whitelist behind-the-scene + use default deny
2015-12-04 18:05:20 -05:00
gorhill
c3f206e704
#1010 : new filter type: "popunder", to explicitly filter popunders
2015-12-04 11:15:09 -05:00
gorhill
42071c5a1c
code review
2015-12-03 21:24:37 -05:00
gorhill
13f42051b2
this fixes #997
2015-12-03 10:06:06 -05:00
gorhill
2750b13e34
code review
2015-12-03 01:08:37 -05:00
gorhill
2705432f43
code review
2015-12-02 00:59:51 -05:00
gorhill
11351bca6d
this fixes regression re. popup/popunder blocking for Seamonkey
2015-12-01 17:15:31 -05:00
gorhill
4fd71d4209
this adds popunder filtering support for Firefox-based browsers
2015-12-01 15:07:22 -05:00
gorhill
c39b892306
this fixes #99 , #991 : ability to block popunders
2015-11-30 18:50:51 -05:00
gorhill
2eca31ac3c
this allows to use Adguard filter lists (unsupported filters are discarded)
2015-11-30 14:47:56 -05:00
gorhill
013b4b1a88
code review
2015-11-29 17:57:55 -05:00
gorhill
72f5e44ec0
code review
2015-11-29 17:06:58 -05:00
gorhill
ba96a4ff4a
redirect engine: selfie-able + update-able
2015-11-29 11:04:42 -05:00
gorhill
f2d2133d76
minor code review
2015-11-28 10:29:05 -05:00
gorhill
46d39838e3
redirect engine: more fine tuning + proof of concept for dayt.se
2015-11-26 17:56:30 -05:00
gorhill
791a025ad5
redirect engine: code review + added more neutered resources
2015-11-26 11:13:33 -05:00
gorhill
2e8adfe944
this fixes #978
2015-11-26 11:11:28 -05:00
gorhill
80c2ef47bc
code review + removal of obsolete exception filters
2015-11-25 19:38:05 -05:00
gorhill
05476e9fd3
code review
2015-11-25 10:05:23 -05:00
gorhill
d9e56d1396
this completes the fix to #602
2015-11-24 20:53:02 -05:00
gorhill
21b5aa8f38
this fixes #738
2015-11-24 15:27:39 -05:00
gorhill
25c73d9f02
code review
2015-11-24 13:21:14 -05:00
gorhill
e1def0dc7e
this will addresses #965 for next release
2015-11-24 12:11:39 -05:00
gorhill
ba8b9ba008
redirection engine: code review
2015-11-23 23:34:03 -05:00
gorhill
1005a3e524
refactoring redirect engine: static filters are now the way to create redirection rules
2015-11-23 19:34:41 -05:00
gorhill
640452ad42
reverting last change
2015-11-23 09:57:46 -05:00
gorhill
30039ff9c7
code review
2015-11-23 09:49:50 -05:00
gorhill
2aadc2a969
new redirect engine: this fixes #949 (the video ad part)
2015-11-23 07:52:50 -05:00
gorhill
77504cb561
this fixes #951
2015-11-20 08:47:29 -05:00
gorhill
4e9d41a150
#948 : this possibly addresses the 1st reported error case
2015-11-19 18:07:27 -05:00
gorhill
7c4d1f510a
this addresses #909
2015-11-19 09:36:15 -05:00
gorhill
4cebefd5b5
code review
2015-11-15 08:56:36 -05:00
gorhill
3d472beb1b
code review: make onHeadersReceive() able to cancel responses
2015-11-09 17:59:19 -05:00
gorhill
9ac84f9171
this fixes #842
2015-11-06 10:49:09 -05:00
gorhill
e847d7f9f4
again, no need to capture in regex
2015-11-05 09:25:16 -05:00
gorhill
c99b61da96
code review: no need to capture in regex
2015-11-05 09:19:45 -05:00
gorhill
403f728777
put back http
, https
does not respond anymore
2015-11-01 11:27:15 -05:00
gorhill
71b967f452
this addresses #850
2015-11-01 11:25:36 -05:00
gorhill
62a6b5251e
this fixes #873
2015-10-31 00:55:10 -04:00
gorhill
43be9f2c22
set an id for html tag of epicker
...
this enables FF users to override epicker style properties
2015-10-30 13:04:01 -04:00
gorhill
13f05e5647
https now available
2015-10-28 15:23:51 -04:00
gorhill
72201527d3
hardening against bad regexes
2015-10-26 11:23:56 -04:00
gorhill
ba20843e07
this fixes bad sorting of hostnames on Pale Moon
2015-10-25 09:38:48 -04:00
gorhill
da6c7b8b5e
code review: fixed sorting of 1st-party hostnames
2015-10-25 08:18:10 -04:00
gorhill
6c46a89142
truncate pointlessly too long labels in selector
2015-10-24 09:24:27 -04:00
gorhill
f4a1bad048
raw URL can be the empty string for behind-the-scene scope
2015-10-23 12:52:51 -04:00
gorhill
afd77a3cef
this fixes #854 .
...
Unlike PageStore, TabContext is best placed to keep track of whitelist status
2015-10-22 09:45:41 -04:00
gorhill
892913d185
this fixes #832
2015-10-21 11:53:03 -04:00
gorhill
2cd47098b1
this fixes #835
2015-10-16 11:42:45 -04:00
gorhill
ea4d5a9710
different fix for #762 , which does not create a regression of 435
2015-10-14 16:49:57 -04:00
gorhill
135ad95d61
#760 : reflect obsolete status immediately in UI
2015-10-14 14:16:43 -04:00
gorhill
4fcdac821d
this fixes #760
2015-10-14 10:28:37 -04:00
gorhill
6cb185c973
this addresses https://www.reddit.com/r/pathofexile/comments/3okptl/ublock_origins_wont_let_me_open_links_in_new_tabs/cvyd5xb
2015-10-13 14:04:48 -04:00
gorhill
2fdb63c98a
this fixes #806
2015-10-13 10:56:59 -04:00
gorhill
2d0ed21544
this addresses http://www.wilderssecurity.com/threads/ublock-a-lean-and-fast-blocker.365273/page-63#post-2532835
2015-10-09 09:43:36 -04:00
gorhill
19a717b4b6
comment...
2015-10-05 11:04:36 -04:00
gorhill
054ba17c96
oops, mixed up ABP issues: it\'s rather from https://issues.adblockplus.org/ticket/616
2015-10-05 11:03:20 -04:00
gorhill
8f4ee3e34d
support for genericblock
filter option (< https://issues.adblockplus.org/ticket/647 >)
2015-10-05 10:58:24 -04:00
gorhill
a92c8f1413
re. #781 : backward compatibility code to ignore unsupported explicit style properties
2015-10-04 13:27:05 -04:00
gorhill
987da1960c
updated comment
2015-10-02 09:34:53 -04:00
gorhill
6b9848cf0d
Exception script tag filter makes no sense: reject such filters
2015-09-30 10:17:25 -04:00
gorhill
a56dfe1858
oops, fix to #756 needs this
2015-09-30 09:37:27 -04:00
gorhill
8d294869fe
this fixes #756
2015-09-30 09:33:38 -04:00
gorhill
cc17a77b0a
this fixes #762
2015-09-28 15:51:02 -04:00
gorhill
34b58178bc
this fixes #762
2015-09-28 15:50:09 -04:00
gorhill
12baeadac4
code review of new script tag filtering code
2015-09-27 10:13:31 -04:00
gorhill
7970f4dc70
new cosmetic filter to foil specific inline script tags
2015-09-26 19:07:23 -04:00
gorhill
de2d993d61
re. #724 : configurable xhr timeout
2015-09-25 08:31:46 -04:00
gorhill
ab24f725ce
select optimal hideElements
depending on whether shadow DOM is supported
2015-09-15 09:51:22 -04:00
gorhill
6cc07a4027
removed unused code
2015-09-14 10:48:23 -04:00
gorhill
08dae71629
this fixes #712
2015-09-14 07:21:35 -04:00
gorhill
ce12fdba01
update reverse lookup code to deal with #711
2015-09-13 14:59:33 -04:00
gorhill
f5bb9cec69
#711 : oops
2015-09-13 14:37:35 -04:00
gorhill
31f9cfe3de
this fixes #711
2015-09-13 14:29:43 -04:00
gorhill
29c39550dd
forgot to comment to link code to issue ( #708 in current case)
2015-09-13 10:52:41 -04:00
gorhill
90a2c608bb
this fixes #708
2015-09-13 10:26:36 -04:00
gorhill
4e3fcd576d
this addresses #705
2015-09-12 10:51:11 -04:00
gorhill
59bdcbdb7e
code reviewed implementation of high-medium generic cosmetic filters
2015-09-11 17:59:25 -04:00
gorhill
3e96a70a0f
#44 : meant to use mousedown...
2015-09-10 14:01:16 -04:00
gorhill
36a15e2e02
Experimental fix for #44
...
Disregard no-popups per-site switch for a URL which matches
a link clicked by the user.
2015-09-10 13:46:18 -04:00
gorhill
1d5a592b12
this fixes #691
2015-09-10 09:51:49 -04:00
gorhill
7177d8d0ff
this addresses #693
2015-09-08 08:45:22 -04:00
gorhill
b3d243324f
this fixes #672
2015-09-04 16:30:53 -04:00
gorhill
9c88478984
this fixes #678
2015-09-04 09:36:53 -04:00
gorhill
05ce6711e8
this fixes #668 , #669
2015-08-31 18:43:40 -04:00
gorhill
fbf3fa9c85
this fixes #666
2015-08-31 10:05:59 -04:00
gorhill
6600a27c33
https://github.com/chrisaljoudi/uBlock/issues/1528 : apply fix to element picker
2015-08-28 10:56:05 -04:00
gorhill
94a1d72fc8
https://github.com/chrisaljoudi/uBlock/issues/1528 : apply fix to scriptlets too
2015-08-28 10:44:33 -04:00
gorhill
1a380f0959
this fixes https://github.com/chrisaljoudi/uBlock/issues/1528
...
An XML document can be a valid HTML document. Try to instanciate
a HTMLDivElement to find out whether we are dealing with an actual
HTML document or not.
2015-08-28 10:33:58 -04:00
gorhill
b685af177e
code review
2015-08-25 15:43:32 -04:00
gorhill
57a7f6bcd7
code review last commit re. #602
...
External filter lists are not meant to appear in checksums.txt.
2015-08-25 11:21:35 -04:00
gorhill
8f01f7309e
this fixes #528 + checksums.txt needs patching re. #602
2015-08-25 10:09:37 -04:00
gorhill
027e8c5977
#621 : re-factored how domain=
filter option is tested
2015-08-22 12:15:16 -04:00
gorhill
a63ac99e03
this fixes #621
...
Interpretation/implementation of exception filters with negated
hostname(s) has been revised: no block filter is implied anymore
for such filters. At time of writing I found only 10 such filters
in EasyList, and none in commonly used filter lists.
2015-08-21 21:52:16 -04:00
gorhill
ff33410c4a
#602 : no need to rename compiled lists, they will be invalidated anyways
2015-08-18 14:49:46 -04:00
gorhill
efccaf1416
All third-party assets which are not enabled by default will no longer be
...
part of the package. The code here is to ensure a seamless transition from
local assets which have been converted to remote assets. The only side
effect to expect is that the selfie, if any, will be invalidated.
2015-08-18 13:15:58 -04:00
gorhill
9b4b998364
#608 : this fixes a bunch of strictness-related warnings
2015-08-18 11:44:24 -04:00
gorhill
f29628ee01
this fixes #581
...
dynamic `allow` rules must also override the blocking of popups by
static filters.
2015-08-17 17:10:15 -04:00
gorhill
ccb058c2d9
this fixes #581
2015-08-17 15:09:14 -04:00
gorhill
6dd5c832a2
this really fixes #599 , #600
2015-08-15 09:24:55 -04:00
gorhill
118a7792cc
multiple shadow roots is deprecated: https://www.chromestatus.com/features/4668884095336448
2015-08-13 19:36:54 -04:00
gorhill
47cf6384b2
this fixes https://github.com/gorhill/uMatrix/issues/129
2015-08-13 16:03:37 -04:00
gorhill
f338c28cd6
support append from cloud storage + uniformize buttons visual in dashboard
2015-08-12 12:17:39 -04:00
gorhill
d983a96744
sync ( #80 ): new files
2015-08-11 18:49:36 -04:00
gorhill
abc7a526da
code review
2015-08-11 18:48:52 -04:00
gorhill
690421aead
sync feature ( #80 ): draft
2015-08-11 15:29:14 -04:00
gorhill
251ed0d0d7
this addresses #583 : provide a link to the "Badware risks" wiki page
2015-08-10 08:30:23 -04:00
gorhill
980125b8af
minor code review
2015-08-03 09:25:18 -04:00
gorhill
6ea3338f26
code review
2015-08-02 23:49:17 -04:00
Sean Rand
b0072eab57
try/catch createShadowRoot in contentscripts
2015-08-03 01:31:20 +02:00
gorhill
bfcf0e0bfe
code review for last commit: we want to keep namespacing though
2015-08-01 11:34:31 -04:00
gorhill
528354f594
this fixes #507
2015-08-01 11:30:54 -04:00
gorhill
595b239df1
this fixes #546
2015-07-30 12:29:37 -04:00
gorhill
b190f0b183
this fixes #536
2015-07-27 17:55:25 -04:00
gorhill
2509bceaff
this addresses #531
2015-07-27 10:10:34 -04:00
gorhill
8dd21c5f49
change of mind: removing 3p-passive because redundancy, better to work on doc
2015-07-27 09:20:47 -04:00
gorhill
eeb48844c2
minor code review
2015-07-24 20:14:53 -04:00
gorhill
35106dcd90
new dynamic rule type: "3p-passive", for css/images
2015-07-24 19:27:23 -04:00
gorhill
2223f5e457
this fixes #512
2015-07-20 16:33:07 -04:00
gorhill
c7bb242302
this fixes the logging of cosmetic filters in iframes
2015-07-18 09:15:08 -04:00
gorhill
f7ed3fda54
minor code review
2015-07-16 18:15:57 -04:00
gorhill
bc30979689
this fixes subscribing to filter lists having a query part in their URL
2015-07-16 18:13:51 -04:00
gorhill
fa4e3ca492
this completely fixes #490
2015-07-13 08:49:58 -04:00
gorhill
9276b9919c
this fixes #490
2015-07-13 07:41:02 -04:00
gorhill
0b6edab923
minor code review
2015-07-12 08:15:09 -04:00
gorhill
abb89fd037
this will allow to add "tucows downloads"
2015-07-11 17:40:42 -04:00
gorhill
5e2b694197
removed useless return value
2015-07-11 12:17:58 -04:00
gorhill
d3f741f8fd
DOM inspector: to properly report cosmetic filters for dynamically added elements
2015-07-11 07:38:03 -04:00
gorhill
eba046504f
this fix #476
2015-07-10 14:02:02 -04:00
gorhill
53aa705453
minor code review
2015-07-09 09:11:50 -04:00
gorhill
2f786ae921
#465 : decompiler should never return a blank string
2015-07-09 09:08:49 -04:00
gorhill
08ccebfd64
typo
2015-07-07 20:41:24 -04:00
gorhill
002b99e573
oops
2015-07-07 16:54:41 -04:00
gorhill
6214591fb8
popup may be closed before main process respond
2015-07-07 11:05:00 -04:00
gorhill
235bce9faf
"subdocument" filters reported as "sub_frame"
2015-07-07 11:04:24 -04:00
gorhill
7a3fb2273e
dom inspector quirks: keep identical filters in sync, do not create duplicate filters
2015-07-06 18:11:11 -04:00
gorhill
e3e4d577ee
this makes shadow DOM work on Firefox
2015-07-06 13:53:39 -04:00
gorhill
f1b9e27fdb
minor code review
2015-07-06 10:25:37 -04:00
gorhill
497eb87fb0
avoid reporting the DOM layout while it is loading
2015-07-06 10:24:28 -04:00
gorhill
4ad22d6f92
Merge branch 'master' of github.com:gorhill/uBlock into shadow
2015-07-06 10:19:30 -04:00
gorhill
4458ea5d7d
this fixes net inspector interfering with modal dialogs
2015-07-06 10:19:17 -04:00
gorhill
febb18147a
#435 : using shadow nodes instead of modifying directly nodes' style attr
2015-07-06 07:48:56 -04:00
gorhill
c11421d574
this fixes logger v-scroll not being pinned anymore (regression)
2015-07-06 07:42:30 -04:00
gorhill
dd394ebba5
code review: regex perf as per https://www.loggly.com/blog/five-invaluable-techniques-to-improve-regex-performance/
2015-07-04 17:34:18 -04:00
gorhill
93c4502acc
bypass FF's built CSS.escape(), to benefit from serializeAsString
2015-07-03 06:56:15 -04:00
gorhill
cc6a811934
CSS.escape: support "serialize a string" to avoid pointless escaping
2015-07-03 06:34:18 -04:00
gorhill
0487c23763
this addresses #433
2015-07-03 05:57:05 -04:00
gorhill
6a912531dc
this fixes broken row filtering for tab selector and popup UI
2015-07-02 19:42:51 -04:00