Commit Graph

75 Commits

Author SHA1 Message Date
Raymond Hill a1241e0806
Don't use `self` to access `vAPI` in content script
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1571

Testing through `self` breaks the injection of
`contentscript-extra.js` in Firefox 66.0 and
earlier.
2021-04-29 13:04:59 -04:00
Raymond Hill 35aefed926
Add support to chain `:style()` to procedural operators
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/382

Additionally, remnant code for pseudo-user stylesheets
has been removed. Related commit:
- 5c68867b92
2020-09-07 08:28:01 -04:00
Raymond Hill 9eb455ab5e
Isolate element picker dialog from page content world
Related issues:
- https://github.com/gorhill/uBlock/issues/3497
- https://github.com/uBlockOrigin/uBlock-issues/issues/1215

To solve above issues, the element picker's dialog is now
isolated from the page content in which it is embedded.

The highly interactive, mouse-driven part of the element
picker is still visible by the page content.
2020-09-01 12:32:12 -04:00
Raymond Hill 3f074d7908
Use `self` when testing for `vAPI` presence 2019-09-30 07:50:35 -04:00
Raymond Hill efa4ff3bcf
Code review re. dynamically loaded vapi-client-extra.js
Related commit:
- 87d0e456f1

Ensure that the code which depends on extending
`vapi-client.js` is ready to deal with
`vapi-client-extra.js` failing to load.
2019-09-26 15:57:55 -04:00
Raymond Hill 350e436c08
Remove remnants of `chrome` references...
... from platform-independent code.

This should complete the de-chromiumification of
uBO. Next step will be to swap the content of the
`platform/chromium` and `platform/firefox`
folders so as to reflect that Firefox is the
natural platform for uBO.
2019-09-21 12:06:57 -04:00
Raymond Hill 60aa80b571
Fix erroneous copyright date
As per commit history:
266f62914f/meta/crx/vapi-client.js
2019-09-19 09:12:51 -04:00
Raymond Hill a45a962517
Fix property name inconsistency
Addtionally, fixed erroneous copyright date, as per
commit history:
https://github.com/gorhill/uBlock/commits/master/platform/chromium/vapi-client.js
2019-09-19 09:07:55 -04:00
Raymond Hill 87d0e456f1
Simplify client messaging code
Little-used code from vapi-client.js has been moved
to vapi-client-extra.js. Given that vapi-client.js
is injected in all web pages, this means less dead
code being injected in all pages.

Swathes of code in vapi-client.js was used only in
a few very specific cases, such as when the logger's
DOM inspector is opened or when the "Filter lists"
pane in the dashboard is opened -- and thus to avoid
that little used code to be loaded in every web page
unconditionally, it has been moved to its own
separate file, vapi-client.extra.js.

vapi-client-extra.js is loaded declaratively or
programmatically only where needed.
2019-09-19 08:31:38 -04:00
Raymond Hill 022951547c
Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await.

Related commits:
- 3224d9b5cc
- 26235d80d0
- 0051f3b5c7
- eec53c0154
- 915687fddb
- 55cc0c6997
- e27328f931
2019-09-18 08:34:55 -04:00
Raymond Hill ed99d52bc4
Simplify slightly messaging code
- No need to hold onto channel name and message data while
  waiting for response to resolve
- Use more representative `msgId` instead of `auxProcessId`
2019-09-17 17:43:52 -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 656203adc7
Minor generic code review of changes since 1.18.2 2019-02-02 08:09:34 -05:00
Raymond Hill 920eee88be
Code review: ensure vAPI.shutdown.exec is called from root context only
This prevents uncaught errors in content scripts when uBO's main
process is terminated (i.e. disabled, updated).
2019-01-28 16:16:52 -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 8be1aed04d
guard against future instances of issue fixed in #3721 2018-05-03 09:55:36 -04: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 bbda2a9086
code review: preemptively address https://bugzilla.mozilla.org/show_bug.cgi?id=1408996#c9 2017-10-27 14:22:45 -04:00
gorhill 6112a68faf
fix #2984 2017-10-21 13:43:46 -04:00
gorhill fdcc9515dc
fix #2029 2017-08-17 08:25:02 -04:00
gorhill 139d97179f
as per #2612, use native Set() in content scripts 2017-05-15 08:51:25 -04:00
gorhill b3d210c866
minor code review 2017-04-03 10:10:27 -04:00
gorhill 68ad90616b
fix #2499 2017-04-01 12:40:02 -04:00
gorhill 0112e54834
fix https://bugs.chromium.org/p/project-zero/issues/detail?id=1225&desc=6#c10 2017-04-01 09:41:08 -04:00
gorhill 8c3da95d65 fix #2067 (experimental) + support for hidden settings 2016-11-03 11:20:47 -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 c084853d9a fix #1772: ability to preview procedural cosmetic filters 2016-10-01 12:34:25 -04:00
gorhill 6fd0bb4291 more refactoring of content script: better modularization of various components 2016-08-12 08:55:35 -04:00
gorhill dcb6e87c1f fix https://forums.lanik.us/viewtopic.php?f=64&t=31522 2016-07-14 09:35:38 -04:00
gorhill 02e6b088ef further refactoring + performance: skip surveying DOM after too many empty resultset 2016-07-09 19:21:46 -04:00
gorhill bec8243a46 revert committing changes meant to be local only 2016-07-01 18:20:55 -04:00
gorhill 973d3e79c1 minor code review 2016-07-01 14:33:43 -04:00
gorhill a3f6a4186a instrumenting content scripts to make for easy profiling when needed 2016-06-30 16:10:38 -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 d676864211 #1604: remove now unreachable code 2016-05-02 14:30:24 -04:00
gorhill dfc7fa8438 emergency fix: remove websocket support for now 2016-05-02 08:27:19 -04:00
gorhill 0e7e653362 revise indentation, comments 2016-04-28 10:09:08 -04:00
gorhill ffc313136b #956: code review, again 2016-04-26 09:22:05 -04:00
gorhill 8c0246017d this fixes #1579 2016-04-22 11:45:20 -04:00
gorhill 6d79aa43ba #956/#1497: minor code review 2016-04-21 12:48:07 -04:00
gorhill e1f150f494 #956/#1497: code review 2016-04-21 12:26:08 -04:00
gorhill a6028083f3 #956: code review 2016-04-21 00:03:29 -04:00
gorhill 2d26d1dd3d this fixes #1497 2016-04-20 13:57:31 -04:00
gorhill 2ac643b520 #1443: code review 2016-03-15 11:17:56 -04:00
gorhill bb66d44bac minor code review 2016-03-09 11:24:21 -05:00
gorhill eb8c17d55c this takes care of #1443 2016-03-08 16:35:06 -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 89148351e8 #1163: this implements "block elements by size" 2016-01-17 13:30:43 -05:00
gorhill 19518aed60 this fixes #1204 2016-01-11 01:38:29 -05:00