Opened on 07/24/2017 at 01:30:43 PM
Last modified on 10/08/2019 at 05:54:23 PM
#5450 new change
Modularize libadblockplus
Reported by: | sergz | Assignee: | |
---|---|---|---|
Priority: | P2 | Milestone: | |
Module: | Libadblockplus | Keywords: | |
Cc: | hfiguiere, fhd | Blocked By: | |
Blocking: | Platform: | Unknown / Cross platform | |
Ready: | no | Confidential: | no |
Tester: | Unknown | Verified working: | no |
Review URL(s): |
https://codereview.adblockplus.org/29500602/ |
Description (last modified by sergz)
Background
In order to
- do #1285, namely have separate Updater and FilterEngine classes
- do #5198, some external class, looking after asynchronous operations
- provide with fast access to settings, in android project there is a duplicated Prefs functionality because it takes too long to fully load ABP merely to show settings
- (part of #4693) give a hint that FilterEngine and JsEngine are destroyed in a wrong order and in general they should not be used outside the scope of the lifespan of that ABP-platform class
- avoid hacks with carrying ITimer in libadblockplus-android. ITimer is available during creation of JsEngine but it's needed in FilterEngine and one has to carry it via additional wrapper around native FilterEngine, however one could use that platform class and get access from it to all JsEngine, FilterEngine, Prefs and ITimer.
there is a need in some paltform class which is responsible for JsEngine, Updater, FilterEngine, Prefs, etc. and helps to deal with asynchronity.
TODO:
Sort JS files out modules and add corresponding modules. In particular we need:
- appInfo module, seems good to have it as a separate module, requires JsEngine
- prefs module which loads a bare minimum required to work with preferences, requires JsEngine
- filterEngine module which loads filterEngine, requires prefs and appInfo
- updater module which requires prefs, downloader and appInfo (I think it makes sense for present to simply make filterEngine as a dependency for it).
Update README.md file.
Attachments (0)
Change History (12)
comment:1 Changed on 07/25/2017 at 11:53:20 AM by sergz
- Owner sergz deleted
comment:8 Changed on 08/07/2017 at 02:51:14 PM by abpbot
Some commits referencing this issue have landed:
comment:10 Changed on 08/07/2017 at 03:09:23 PM by sergz
- Cc hfiguiere fhd added
comment:11 Changed on 08/07/2017 at 03:33:18 PM by sergz
- Description modified (diff)
comment:12 Changed on 09/04/2019 at 04:12:26 AM by yoyo9996
spam
Last edited on 10/08/2019 at 05:54:23 PM
by kzar
Note: See
TracTickets for help on using
tickets.
I have a progress here but firstly it would be better to polish some parts of the existing code.