content/base/test/test_bug482935.html is broken on desktop in Fennec
because of the way e10s http channels currently interact with the cache.
In short, it tests cancelling XHR objects in various states of loading
and their interactions with the cache.
In single-process Firefox, we end up cancelling an XHR object with
readyState==4 with a response that has been successfully cached. We then
create another request and cancel it with readyState==3, thereby
aborting the request and causing it not to be cached. However, with
multiple processes, by the time this cancel message reaches the parent,
we've already sent OnStopRequest across the wire and closed the cache
entry with a successful status, so the cancel message does not cause the
cache entry to be doomed.
What's the correct way to behave here? This is obviously a behavioural
change for the worse. The only way I've come up with fixing it so far is
to put off performing certain OnStopRequest actions until we get an
acknowledgement from the child with a corrected status, but that seems
fragile to me.
_______________________________________________
dev-tech-network mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-network