This just came up in my add-on's review, so I thought I'd pass it on
in case it helps anyone else.

If you're creating browser XUL elements without a session history, be
sure to set the disablehistory attribute to true. Otherwise you'll
get the following error thrown from the browser constructor:

Exception... "Component returned failure code: 0x80004005
(NS_ERROR_FAILURE) [nsIWebNavigation.sessionHistory]" nsresult:
"0x80004005 (NS_ERROR_FAILURE)" location: "JS frame ::
chrome://global/content/bindings/browser.xml :: :: line 637" data:
no] Source File: chrome://global/content/bindings/browser.xml
Line: 643