We're going to have an awkward growing phase between Firefox 19 & 20 where private browsing features are implemented quite differently. Seeing as we will be continuing to implement activate and deactivate as no-ops that emit deprecation warnings for the forseeable future, we should consider implementing a flag that developers can access that indicates if PWPB is implemented in the current runtime. Strawman: var hasPWPB = require('private-browsing').hasPerWindowPrivateBrowsing || false; This property could be a getter that sniffs the current Firefox version. Thanks to :wenzel for the idea: https://blog.mozilla.org/addons/2012/11/05/sdk-private-browsing-api-deprecation/comment-page-1/#comment-160596
I don't think pwpb will be the final iteration, so perhaps a getPBType method would make more sense?
If you're interested in detecting this in the code programatically, you can check for the existence of nsIPrivateBrowsingService. We will soon remove it in bug 818800.