On Fri, 21 Apr 2006 22:35:02 -0000, Boris Zbarsky <[EMAIL PROTECTED]> wrote:
If I follow correctly, relative URIs passed to open() should be resolved relative to caller (whatever that means; more on that in a separate mail). That's not actually precisely what Gecko does right now; probably a bug in Gecko.

I think you saw that we changed this to be more compatible with Internet Explorer. Basically, from the window you contruct the object in you take the window.document.baseURI property and somehow store that on the object to resolve URIs against.


In particular, if you have documents A and B at two different URIs that can talk to each other:

1)  Document A creates an XMLHttpRequest object
2)  Document A sets an onreadystatechange listener on it.
3)  Document B calls open()

the base URI will be document A as far as I can tell from the code. Worth adding a test to the test suite for this and similar things where two different windows both work with the same XMLHttpRequest object.

  http://tc.labs.opera.com/apis/XMLHttpRequest/open/001.htm
  http://tc.labs.opera.com/apis/XMLHttpRequest/open/002.htm
  http://tc.labs.opera.com/apis/XMLHttpRequest/open/003.htm
  http://tc.labs.opera.com/apis/XMLHttpRequest/open/004.htm
  http://tc.labs.opera.com/apis/XMLHttpRequest/open/005.htm
  http://tc.labs.opera.com/apis/XMLHttpRequest/open/006.htm
  http://tc.labs.opera.com/apis/XMLHttpRequest/open/007.htm
  http://tc.labs.opera.com/apis/XMLHttpRequest/open/008.htm
  http://tc.labs.opera.com/apis/XMLHttpRequest/open/009.htm
  http://tc.labs.opera.com/apis/XMLHttpRequest/open/010.htm

I welcome other variants to this story.


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


Reply via email to