The URI of the document being serialized must be taken into account within
GetLocalURI on URIData. This method previously returned its path relative to
the document in which it is first visited, resulting in a bug when subdocuments
stored in different locations also linked to it. By passing in mTargetBaseURI
GetLocalURI can ensure it is returning a path relative to the document
currently being serialized.
The high-level overview is that the parts of nsWebBrowserPersist which
access the DOM have been factored out (as WebBrowserPersistLocalDocument)
and abstracted (nsIWebBrowserPersistDocument) such that they can be
implemented in the cross-process case using IPC.