Commit graph

138 commits

Author SHA1 Message Date
Raymond Hill
6d935c8925
Bail out when counting hidden elements is too expensive
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/756

When trying the number of hidden elements as a result of
cosmetic filtering for popup panel badge purpose, the
code will bail out if this takes too long, and in such
case the badge will be set to `?`, meaning the number
of hidden elements is undetermined.
2019-11-02 09:16:23 -04:00
Raymond Hill
c090d2fde4
Count hidden elements on-demand only in popup panel
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/756

The badge value for the no-cosmetic-filtering
switch will be evaluated on-demand only, when
the user hover over the switch with the mouse
cursor.

For touch screen displays, a tap on the switch
will cause the badge to be rendered if not
already done, otherwise this will toggle the
switch as usual.
2019-11-01 12:32:34 -04:00
Raymond Hill
3224d9b5cc
Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await.

Related commits:
- 26235d80d0
- 0051f3b5c7
- eec53c0154
- 915687fddb
- 55cc0c6997
- e27328f931
2019-09-17 15:15:01 -04:00
Raymond Hill
066440534d
Prevent popup panel to close when forcing a tab reload
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/672

Additionally, this commit add the ability to press F5 to
force a reload while the popup panel is opened.
2019-07-21 11:50:15 -04: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
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
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
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
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
a57450e1a0
fix https://github.com/uBlockOrigin/uBlock-issues/issues/228 2018-09-18 15:21:00 -04:00
Raymond Hill
1d108082b7
minor code review re. 8b5a7aa398 2018-09-07 10:52:10 -04:00
Raymond Hill
6d34a52179
fix #2859 2018-09-03 14:06:49 -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
cf56d84061
fix https://github.com/uBlockOrigin/uBlock-issues/issues/105 2018-07-04 09:38:37 -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
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
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
fbc5e6d26c
fix https://github.com/uBlockOrigin/uBlock-issues/issues/22 2018-04-24 23:21:54 -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
c695599860
code review: adjust position of eraser/padlock only when needed 2018-04-04 08:17:53 -04:00
Raymond Hill
9bc029b72c
allow un-whitelisting in non-advanced user mode 2018-03-31 15:02:12 -04:00
Raymond Hill
7eeba29220
fix #3551: regressions as a result of fix to #3428 2018-02-27 06:54:48 -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
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
c74526a895
fix #3057 2017-09-26 16:09:35 -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
b677600637
fix #3032 -- hopefully 2017-09-18 10:52:30 -04:00
gorhill
9ac4dc9f81
fix #2768 2017-07-07 11:23:24 -04:00
gorhill
414765f526
code review: fix workaround for legacy FF 2017-07-03 10:50:47 -04:00
gorhill
a8382e821d
work around for #2734 until fixed in Nightly 2017-07-03 09:51:34 -04:00
gorhill
9b55684551
fix #2718 2017-06-21 15:49:42 -04:00
gorhill
c1589cafaa
fix popup panel layout as per feedback: 39aeaa12a7 (commitcomment-22310294) 2017-05-28 13:32:08 -04:00
gorhill
39aeaa12a7
new feature: element zapper 2017-05-27 11:51:24 -04:00
gorhill
0232382695
refactor static network filtering, add support for csp injection 2017-05-12 10:35:11 -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
2691ac95b4 fix fullsize popup regression (https://github.com/gorhill/uBlock/issues/2153#issuecomment-271095067) 2017-01-07 13:02:33 -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
ee4fc2aed6 code review re advanced settings + added popupFontSize 2016-11-06 16:27:21 -05:00
gorhill
446d7fad2e fix #2010, #2086 2016-11-05 14:48:42 -04:00
gorhill
7984c7562c fix #2033 2016-09-27 08:31:12 -04:00
gorhill
269c35a04a fix #1997 2016-09-16 17:41:17 -04:00