Bug 40938 (part 2): Merge TorProtocolService and TorMonitorService
Merge Info
Related Issues
Backporting
Timeline
- 
Immediate: patchset needed as soon as possible 
- 
Next Minor Stable Release: patchset that needs to be verified in nightly before backport 
- 
Eventually: patchset that needs to be verified in alpha before backport 
- 
No Backport (preferred): patchset for the next major stable 
(Optional) Justification
- 
Emergency security update: patchset fixes CVEs, 0-days, etc 
- 
Censorship event: patchset enables censorship circumvention 
- 
Critical bug-fix: patchset fixes a bug in core-functionality 
- 
Consistency: patchset which would make development easier if it were in both the alpha and release branches; developer tools, build system changes, etc 
- 
Sponsor required: patchset required for sponsor 
- 
Other: please explain 
Merging
- 
Merge to tor-browser-!fixupstotor-browser-specific commits, new features, security backports
- 
Merge to base-browser-!fixupstobase-browser-specific commits, new features to be shared withmullvad-browser, and security backports- 
NOTE: if your changeset includes patches to both base-browserandtor-browserplease clearly label in the change description which commits should be cherry-picked tobase-browserafter merging
 
- 
NOTE: if your changeset includes patches to both 
Issue Tracking
- 
Link resolved issues with appropriate Release Prep issue for changelog generation 
Review
Request Reviewer
- 
Request review from an applications developer depending on modified system: - 
NOTE: if the MR modifies multiple areas, please /ccall the relevant reviewers (since gitlab only allows 1 reviewer)
- accessibility : henry
- android : dan
- build system : boklm
- extensions : ma1
- firefox internals (XUL/JS/XPCOM) : ma1
- fonts : pierov
- frontend (implementation) : henry
- frontend (review) : donuts, richard
- localization : henry, pierov
- nightly builds : boklm
- rebases/release-prep : dan_b, ma1, pierov, richard
- security : ma1
- signing : boklm, richard
- updater : pierov
- misc/other : pierov, richard
 
- 
NOTE: if the MR modifies multiple areas, please 
Change Description
Refactored TorProtocolService to be an ES class. Since it has all the operations we need from TorProvider, I've called it like this already.
However, this isn't the final shape.
Then, in the second commit, I've moved TorMonitorService inside TorProvider.
It doesn't use ES features on purpose, to make it possible to check that almost nothing has changed with git diff --color-moved.
In the next part, I will start using the new features of TorControlPort, and update the old consumers of TorProtocolService and of TorMonitorService to TorProviderBuilder.
I preferred to do it in separate MRs to keep the stuff easier to review (this MR should be close to trivial, since the changes of the first commit are mostly _ with #, and change }, with just }, the second commit should be reviewed locally with that --color-moved option).