This bug is not related PFetch implementation but related to ObjectURL.revoke() implementation.
ObjectURL.revoke() should not impact any usage of ObjectURL before calling revoke().
For example, using the ObjectURL to create a Request, then calling ObjectURL.revoke().
The request should still be valid for accessing the corresponding ObjectURL data.
Another example is using ObjectURL to fetch() directly, then calling ObjectURL.revoke().
The request created by fetch() internal should be able to access ObjectURL data.
In our implementation, to not transfer big blob data too often between processes, we only use ObjectURL's nsIURI to create a Request or fetch(), and then try to get data in the parent process if needed. However, it causes the problem when fetch()/Request for fetch() arrives the parent process later than ObjectURL.revoke().