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/>