Per-Window Private Browsing and the SDK

Erik Vold has been working hard to implement support for Per-Window Private Browsing in the SDK, and he posted a summary of the work and how it will impact add-on authors yesterday:

To put the change simply, before with global private browsing a add-on developer need only know if the mode was active or not and when that state changed, now with per-window private browsing none of that information is available because it no longer exists.

With per-window private browsing a add-on developer will need to know if the information they are handling came from a private-browsing window and either ignore it, handle it sensitively, and possibly do some extra cleanup work for the sensitive data when the associated window is closed, or when the last private browsing window is closed. The best approach to take depends on the use case.

If you are maintaining an SDK-based add-on, here is our best advice in order to ensure that your add-on keeps working as expected over the next couple of Firefox versions:

  1. Re-pack your existing add-on to SDK 1.13, released yesterday and re-submit it to AMO. This will immunize you from an upcoming change in Firefox 21 that will remove the oldd Global Private browsing service completely. Unless you take this initial step, users will not be able to use your add-on with Firefox 21.
  2. Once SDK 1.14 is released on March 12th, re-pack your add-on again to SDK 1.14. This will allow you to specify whether your add-on will be active in Private Browsing windows, and the default will be ‘inactive’.

The SDK team will be working with AMO to mitigate the impact of these changes in a number of ways:

  • We will be reaching out to the community via posts like this and encouraging people to re-pack their add-ons.
  • We will continue to identify add-ons on AMO that use very old and/or dangerous add-ons and marking them incompatible with newer versions of Firefox.
  • We will be re-visiting our re-packing scripts that can potentially re-pack large numbers of simple add-ons. I’ll report back in a few weeks with the specifics of this work.

Comments are disabled for this post – I’ve posted a thread to the Jetpack Google group – if you have concerns or comments regarding these changes I encourage you to post there:

https://groups.google.com/d/msg/mozilla-labs-jetpack/5aJhHXzodpM/6B_9kU2UAG4J