On Maciej's request and I also think this was one of the issues Boris raised earlier I constructed the following testcase:

  http://tc.labs.opera.com/apis/XMLHttpRequest/open/024.htm

Most browsers seem to throw at some point, but they are not really consistent. The testcase works as follows. You have a parent browsing context A and a child browsing context B. The initial situation is that A holds document 1 and B holds document 2. When 2 is loaded 1 invokes the XMLHttpRequest constructor of B and then causes document 3 to be loaded in B. When document 3 is loaded 1 tries to initiate a request.

Internet Explorer 7 seems to throw when after 3 is loaded 1 invokes open(). Opera 9 seems to throw at the same stage when send() is invoked. Firefox 2 seems to invoke frame.contentWindow.client() when it shouldn't. Not sure why that happens.

Open questions are:

  1. What happens if you navigate from 3 back to 2.
  2. What happens if the base URI "essentially" stays the same.
     (No "directory" changes.)

And more I assume :-(

Also, is there any particular desired behavior for these cases?

(The testcase mentioned is work in progress.)


--
Anne van Kesteren
<http://annevankesteren.nl/>
<http://www.opera.com/>

Reply via email to