My work on the Private Browsing patch is soon going to enter a new stage. Four of the modules that the patch is touching already have unit tests. The only part of the patch which is not correctly implemented yet according to the recent changes in the functional spec is the download manager module, which needed a back-end change to support in-memory databases. I've implemented that in another bug I filed to track it, and my patch there is waiting for review.
In a recent discussion with mconnor, we decided that it would be best to split up the patch according to the boundaries of the modules that it's touching, and ask for review on each part separately. I'm going to do this today. There are four modules which already have unit tests and are ready for review:
- Cookies
- Content Preferences
- Passwords Manager
- Authenticated Sessions
The Places module is also nearly ready for review, thanks to Aaron Train, a Seneca college student who has volunteered to write some unit tests for Private Browsing.
The nifty thing is that once I get the necessary reviews for each module, it would be possible to land it, because the unit tests are designed such that they would pass if the Private Browsing service is not available. I would still continue to publish monolithic patches in the Private Browsing bug, to make the lives of those who want to try out the full patch easier, so to reduce the amount of confusion, I'm going to mark the “for review” patches by naming them with this pattern: “[for review] module v_n_", where _module_ is the name of the module and _n_ is the revision of the module specific patch, initially set to 1 and incremented if a reviewer requires changes to the implementation of that module.
Stay tuned for future updates on the Private Browsing progress. Like always, feedback in form of comments on this blog, bug 248970, or email/IRC notes are welcome.