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

Reply via email to