Just a note (not necessary to change for this PR): this function name is really unclear. "restore" sort of implies de-serialization IMO, which is not what's happening here. What's a "subject"? It's what an nsIObserver receives, but we only handle nsIHTTPChannel, so the name is unnecessarily generic.