Chrome Version : 24.0.1284.2 dev
Safari Version : 6.0.1 (8536.26.14)
Other browsers tested:
Add OK or FAIL after other browsers where you have tested this issue:
Firefox 15.x: OK
IE 8: OK
What steps will reproduce the problem?
0. Be on one domain (host: http://example.test)
1. Initiate a XHR CORS request to a resource. (host: http://test1.example.org)
2. The resource issues a 302 redirect to another resource on another domain (host: http://test2.example.org)
What is the expected result?
The second request (to test2.example.org) would have set the Origin to "example.test" in the request
What happens instead?
During the second request the Origin is set to "null"
Safari: rdar://problem/12466595 (http://openradar.appspot.com/radar?id=2135401)
Here is a web page that demonstrates the problem. The second test causes a cross-origin redirect, and the new request has no 'Origin' header.
See also: bug 112471.
I've experienced this behavior with a 303 redirect as well. My site was using the S3 "Browser-Based Uploads Using POST" feature, which can optionally emit a 303 redirect once the upload is complete.
http://origin-a.sigusrone.com/cors-redirect-accept-header is now working properly.
Brent, have you tried recent Safari versions, like Safari Tech Preview?
Would you be able to provide a reduced test case?