Extension Developers – Better Background XMLHttpRequests

XMLHttpRequests (XHR) are used for lots of things these days. When running a background XHR, however, you might experience some common issues like authentication or bad SSL certificate dialogs popping up. Another problem was starting an XHR, then closing the window – the XHR is closed. To help get around these inconveniences, Manish Singh (of Flock) adding support for a background mode (bug 383430). The details:

  • Do not attach to a window’s load group, so requests aren’t cancelled if the window closes (often the window isn’t really associated with the request anyway)
  • Do not get an nsIAuthPrompt by default, since we don’t want authentication dialogs to pop up randomly.
  • Provide an nsIBadCertListener implementation, again to prevent bad certificate dialogs to pop up randomly.
var req = new XMLHttpRequest();
req.mozBackgroundRequest = true;
req.open("GET", someURI);
req.send(null);

The magic is handled by mozBackgroundRequest and it’s only available to chrome, not for web content.

3 Comments

  1. Jesse Ruderman said,

    March 20, 2008 @ 4:42 am

    Why are “don’t prompt when there are problems” and “don’t go away if the window is closed” controlled by the same property?

  2. duckuu said,

    March 20, 2008 @ 10:35 pm

    Fantastic! Recently I encountered this problem and don’t know how to do with the certification’s popup.
    Thanks Mark!

  3. alf said,

    March 31, 2008 @ 9:56 am

    I agree with Jesse – I can think of a situation where I’d like the request to proceed if the window is closed, but still need authentication dialogs to pop up if required. I guess this is hard if authentication dialogs are attached to windows…

RSS feed for comments on this post