Firefox 10 was pushed to the Aurora channel a few weeks ago, so it’s time again to round up all bugs that could be breaking add-on compatibility. It’s a pretty long list this time, but most are removals of obscure and rarely-used XPCOM and DOM interfaces.
As usual, you should check Firefox 10 for Developers for additional information.
- Remove isSameNode. This is the change that has the greatest impact by far, since it is used in many add-ons and web sites. To compare nodes you can use the === operator instead.
- Remove isElementContentWhitespace.
- Remove replaceWholeText().
- Remove Document.xmlEncoding.
- Remove Document.xmlStandalone.
- Remove Document.xmlVersion.
- Remove support for browser.startup.page == 2. This setting wasn’t in use, but a consequence of this change is that the lastPageVisited property in nsIBrowserHistory was removed.
- Remove nsIDOMNSHTMLFrameElement. Use nsIDOMHTMLFrameElement instead.
- Remove nsIDOMNSHTMLElement. Use nsIDOMHTMLElement instead.
- Switch from PRBool to bool. The PRBool type was cleaned up all around in favor of bool.
- Remove nsIDocumentViewer.
- Implement IndexedDB setVersion API changes. This changes several DB interfaces, but they are meant for internal usage.
- Remove nsNavHistory nsICharsetResolver implementation.
- fastload XBL methods and properties. If you use XBL, make sure you test it thoroughly. If you run into bugs that can’t be reproduced in Firefox 9, please let us know!
- Different regular expression result since Firefox 7. A small RegExp fix, but it can change the result of certain expressions.
- Mandatory ASLR on Windows. Binary components should work with ASLR, otherwise there will be a performance penalty when loading them in Firefox. We’re also considering adding detection for non-NX and non-ASLR binaries on AMO, possibly rejecting them.
- Support taskbar icon overlay in Windows 7. This allows extensions to add icons to the taskbar icon on Windows 7. There’s a sample linked in the bug in case you’re interested.
- Load/unload chrome.manifest files for bootstrapped addons dynamically. Chrome in bootstrapped add-ons, whoo! Well, it has been possible since before, but now it’s real easy.
- Add support for mouseenter and mouseleave events.
Please let me know in the comments if there’s anything missing or incorrect on these lists. If your add-on breaks on Firefox 10, I’d like to know.
The compatibility bump to Firefox 10 will happen very soon. If you want your add-on to qualify for this, it should be compatible with 9.*. Versions awaiting review also qualify.